mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Cite
synced 2024-12-11 14:46:11 +00:00
14d87b1e04
Adding a submenu to the results of the reference re-use search. This allows the user to either create a direct reuse or a reuse with different details. Hide the menu when there's a sub-reference. Known Issues: - Ref name is hidden (conditionally when our feature is enabled) as a quick fix to not having a good layout choice yet. - Submenu is clipped at the dialog bounds. - Submenu highlight should vanish when the submenu is closed - Instrument action with metrics. Bug: T375053 Change-Id: I3eddd6bad328aaf9bb99eb2783ba66d4e08f862d
404 lines
13 KiB
JSON
404 lines
13 KiB
JSON
{
|
|
"name": "Cite",
|
|
"author": [
|
|
"Ævar Arnfjörð Bjarmason",
|
|
"Andrew Garrett",
|
|
"Brion Vibber",
|
|
"Ed Sanders",
|
|
"Marius Hoch",
|
|
"Steve Sanbeg",
|
|
"Trevor Parscal",
|
|
"..."
|
|
],
|
|
"url": "https://www.mediawiki.org/wiki/Extension:Cite",
|
|
"descriptionmsg": "cite-desc",
|
|
"license-name": "GPL-2.0-or-later",
|
|
"type": "parserhook",
|
|
"requires": {
|
|
"MediaWiki": ">= 1.43"
|
|
},
|
|
"MessagesDirs": {
|
|
"Cite": [
|
|
"i18n",
|
|
"modules/ve-cite/i18n"
|
|
]
|
|
},
|
|
"Hooks": {
|
|
"APIQuerySiteInfoGeneralInfo": "main",
|
|
"ContentHandlerDefaultModelFor": "main",
|
|
"GetPreferences": "main",
|
|
"ParserAfterParse": "parser",
|
|
"ParserClearState": "parser",
|
|
"ParserCloned": "parser",
|
|
"ParserFirstCallInit": "parser",
|
|
"EditPage::showEditForm:initial": "main",
|
|
"MakeGlobalVariablesScript": "main",
|
|
"ResourceLoaderGetConfigVars": "main",
|
|
"ResourceLoaderRegisterModules": "main",
|
|
"UserGetDefaultOptions": "main"
|
|
},
|
|
"HookHandlers": {
|
|
"main": {
|
|
"class": "Cite\\Hooks\\CiteHooks",
|
|
"services": [
|
|
"Cite.ReferencePreviewsContext",
|
|
"Cite.GadgetsIntegration",
|
|
"UserOptionsLookup"
|
|
]
|
|
},
|
|
"parser": {
|
|
"class": "Cite\\Hooks\\CiteParserHooks"
|
|
}
|
|
},
|
|
"ResourceModules": {
|
|
"ext.cite.styles": {
|
|
"styles": {
|
|
"ext.cite.styles.less": {},
|
|
"ext.cite.print.less": {
|
|
"media": "print"
|
|
}
|
|
},
|
|
"skinStyles": {
|
|
"minerva": "ext.cite.styles.minerva.less"
|
|
}
|
|
},
|
|
"ext.cite.parsoid.styles": {
|
|
"localBasePath": "modules/parsoid-styles",
|
|
"remoteExtPath": "Cite/modules/parsoid-styles",
|
|
"class": "Cite\\ResourceLoader\\CiteCSSFileModule",
|
|
"styles": "ext.cite.parsoid.styles.less",
|
|
"skinStyles": {
|
|
"minerva": "ext.cite.parsoid.styles.minerva.less"
|
|
}
|
|
},
|
|
"ext.cite.visualEditor.core": {
|
|
"localBasePath": "modules/ve-cite",
|
|
"remoteExtPath": "Cite/modules/ve-cite",
|
|
"scripts": [
|
|
"ve.dm.MWDocumentReferences.js",
|
|
"ve.dm.MWGroupReferences.js",
|
|
"ve.dm.MWReferenceModel.js",
|
|
"ve.dm.MWReferencesListNode.js",
|
|
"ve.dm.MWReferenceNode.js",
|
|
"ve.ce.MWReferencesListNode.js",
|
|
"ve.ce.MWReferenceNode.js",
|
|
"ve.ui.MWReferencesListCommand.js"
|
|
],
|
|
"styles": [
|
|
"ve.ce.MWReferencesListNode.less"
|
|
],
|
|
"dependencies": [
|
|
"ext.visualEditor.mwcore",
|
|
"ext.visualEditor.mwtransclusion"
|
|
],
|
|
"messages": [
|
|
"cite-ve-referenceslist-isempty",
|
|
"cite-ve-referenceslist-isempty-default",
|
|
"cite-ve-referenceslist-missing-parent",
|
|
"cite-ve-referenceslist-missingref",
|
|
"cite-ve-referenceslist-missingref-in-list",
|
|
"cite-ve-referenceslist-missingreflist"
|
|
]
|
|
},
|
|
"ext.cite.visualEditor": {
|
|
"localBasePath": "modules/ve-cite",
|
|
"remoteExtPath": "Cite/modules/ve-cite",
|
|
"scripts": [
|
|
{
|
|
"name": "ve.ui.MWCitationTools.js",
|
|
"callback": "Cite\\ResourceLoader\\CitationToolDefinition::makeScript"
|
|
},
|
|
"ve.ui.MWReferenceGroupInputWidget.js",
|
|
"ve.ui.MWReferenceSearchWidget.js",
|
|
"ve.ui.MWReferenceResultWidget.js",
|
|
"ve.ui.MWUseExistingReferenceCommand.js",
|
|
"ve.ui.MWCitationDialog.js",
|
|
"ve.ui.MWReferencesListDialog.js",
|
|
"ve.ui.MWReferenceDialog.js",
|
|
"ve.ui.MWReferenceDialogTool.js",
|
|
"ve.ui.MWReferenceEditPanel.js",
|
|
"ve.ui.MWCitationDialogTool.js",
|
|
"ve.ui.MWReferenceContextItem.js",
|
|
"ve.ui.MWReferencesListContextItem.js",
|
|
"ve.ui.MWCitationContextItem.js",
|
|
"ve.ui.MWCitationAction.js",
|
|
"ve.ui.MWReference.init.js",
|
|
"ve.ui.MWCitationNeededContextItem.js",
|
|
"ve.ui.MWSetExtendsContentDialog.js",
|
|
{
|
|
"name": "ve.ui.contentLanguage.js",
|
|
"callback": "Cite\\ResourceLoader\\ContentLanguage::makeScript"
|
|
}
|
|
],
|
|
"styles": [
|
|
"ve.ui.MWReferenceDialog.less",
|
|
"ve.ui.MWReferenceContextItem.less",
|
|
"ve.ui.MWReferenceResultWidget.less",
|
|
"ve.ui.MWCitationDialogTool.less",
|
|
"ve.ui.MWSetExtendsContentDialog.less"
|
|
],
|
|
"dependencies": [
|
|
"oojs-ui.styles.icons-alerts",
|
|
"oojs-ui.styles.icons-editing-citation",
|
|
"oojs-ui.styles.icons-interactions",
|
|
"ext.cite.visualEditor.core",
|
|
"ext.cite.parsoid.styles",
|
|
"ext.cite.styles",
|
|
"ext.visualEditor.mwtransclusion",
|
|
"ext.visualEditor.base",
|
|
"ext.visualEditor.mediawiki"
|
|
],
|
|
"messages": [
|
|
"cite-ve-changedesc-ref-group-both",
|
|
"cite-ve-changedesc-ref-group-from",
|
|
"cite-ve-changedesc-ref-group-to",
|
|
"cite-ve-changedesc-reflist-group-both",
|
|
"cite-ve-changedesc-reflist-group-from",
|
|
"cite-ve-changedesc-reflist-group-to",
|
|
"cite-ve-changedesc-reflist-responsive-set",
|
|
"cite-ve-changedesc-reflist-responsive-unset",
|
|
"cite-ve-citationneeded-button",
|
|
"cite-ve-citationneeded-description",
|
|
"cite-ve-citationneeded-reason",
|
|
"cite-ve-citationneeded-title",
|
|
"cite-ve-dialog-reference-contextitem-extends",
|
|
"cite-ve-dialog-reference-editing-add-details",
|
|
"cite-ve-dialog-reference-editing-add-details-placeholder",
|
|
"cite-ve-dialog-reference-editing-reused",
|
|
"cite-ve-dialog-reference-editing-reused-long",
|
|
"cite-ve-dialog-reference-editing-extends",
|
|
"cite-ve-dialog-reference-extend-long-tool",
|
|
"cite-ve-dialog-reference-missing-parent-ref",
|
|
"cite-ve-dialog-reference-options-group-label",
|
|
"cite-ve-dialog-reference-options-group-placeholder",
|
|
"cite-ve-dialog-reference-options-responsive-label",
|
|
"cite-ve-dialog-reference-options-section",
|
|
"cite-ve-dialog-reference-placeholder",
|
|
"cite-ve-dialog-reference-title",
|
|
"cite-ve-dialog-reference-title-add-details",
|
|
"cite-ve-dialog-reference-title-edit-details",
|
|
"cite-ve-dialog-reference-useexisting-tool",
|
|
"cite-ve-dialog-reference-useexisting-long-tool",
|
|
"cite-ve-dialog-referenceslist-contextitem-description-general",
|
|
"cite-ve-dialog-referenceslist-contextitem-description-named",
|
|
"cite-ve-dialog-referenceslist-title",
|
|
"cite-ve-dialogbutton-citation-educationpopup-title",
|
|
"cite-ve-dialogbutton-citation-educationpopup-text",
|
|
"cite-ve-dialogbutton-reference-full-label",
|
|
"cite-ve-dialogbutton-reference-tooltip",
|
|
"cite-ve-dialogbutton-reference-title",
|
|
"cite-ve-dialogbutton-referenceslist-tooltip",
|
|
"cite-ve-reference-input-placeholder",
|
|
"cite-ve-toolbar-group-label",
|
|
"cite-ve-othergroup-item",
|
|
"parentheses",
|
|
"word-separator"
|
|
]
|
|
},
|
|
"ext.cite.wikiEditor": {
|
|
"localBasePath": "modules",
|
|
"remoteExtPath": "Cite/modules",
|
|
"scripts": [
|
|
"ext.cite.wikiEditor.js"
|
|
],
|
|
"dependencies": [
|
|
"ext.wikiEditor",
|
|
"mediawiki.jqueryMsg",
|
|
"mediawiki.language"
|
|
],
|
|
"messages": [
|
|
"cite-wikieditor-tool-reference",
|
|
"cite-wikieditor-help-page-references",
|
|
"cite-wikieditor-help-content-reference-example-text1",
|
|
"cite-wikieditor-help-content-reference-example-text2",
|
|
"cite-wikieditor-help-content-reference-example-text3",
|
|
"cite-wikieditor-help-content-reference-example-ref-id",
|
|
"cite-wikieditor-help-content-reference-example-extra-details",
|
|
"cite-wikieditor-help-content-reference-example-ref-normal",
|
|
"cite-wikieditor-help-content-reference-example-ref-named",
|
|
"cite-wikieditor-help-content-reference-example-ref-reuse",
|
|
"cite-wikieditor-help-content-reference-example-ref-extends",
|
|
"cite-wikieditor-help-content-reference-example-ref-result",
|
|
"cite-wikieditor-help-content-reference-example-reflist",
|
|
"cite-wikieditor-help-content-reference-description",
|
|
"cite-wikieditor-help-content-named-reference-description",
|
|
"cite-wikieditor-help-content-rereference-description",
|
|
"cite-wikieditor-help-content-extended-reference-description",
|
|
"cite-wikieditor-help-content-showreferences-description",
|
|
"cite_reference_backlink_symbol"
|
|
]
|
|
},
|
|
"ext.cite.ux-enhancements": {
|
|
"localBasePath": "modules",
|
|
"remoteExtPath": "Cite/modules",
|
|
"scripts": [
|
|
"ext.cite.a11y.js",
|
|
"ext.cite.highlighting.js",
|
|
"ext.cite.tracking.js"
|
|
],
|
|
"styles": [
|
|
"ext.cite.a11y.less",
|
|
"ext.cite.highlighting.less"
|
|
],
|
|
"messages": [
|
|
"cite_references_link_accessibility_label",
|
|
"cite_references_link_many_accessibility_label",
|
|
"cite_references_link_accessibility_back_label"
|
|
]
|
|
}
|
|
},
|
|
"ResourceFileModulePaths": {
|
|
"localBasePath": "modules",
|
|
"remoteExtPath": "Cite/modules"
|
|
},
|
|
"ServiceWiringFiles": [
|
|
"src/ServiceWiring.php"
|
|
],
|
|
"QUnitTestModule": {
|
|
"localBasePath": "",
|
|
"remoteExtPath": "Cite",
|
|
"scripts": [
|
|
"tests/qunit/ve-cite/ve.dm.citeExample.js",
|
|
"tests/qunit/ve-cite/ve.dm.Converter.test.js",
|
|
"tests/qunit/ve-cite/ve.dm.MWDocumentReferences.test.js",
|
|
"tests/qunit/ve-cite/ve.dm.MWGroupReferences.test.js",
|
|
"tests/qunit/ve-cite/ve.dm.InternalList.test.js",
|
|
"tests/qunit/ve-cite/ve.dm.MWReferenceModel.test.js",
|
|
"tests/qunit/ve-cite/ve.dm.MWReferenceNode.test.js",
|
|
"tests/qunit/ve-cite/ve.dm.MWReferencesListNode.test.js",
|
|
"tests/qunit/ve-cite/ve.dm.Transaction.test.js",
|
|
"tests/qunit/ve-cite/ve.ui.DiffElement.test.js",
|
|
"tests/qunit/ve-cite/ve.ui.MWCitationDialogTool.test.js",
|
|
"tests/qunit/ve-cite/ve.ui.MWReferenceContextItem.test.js",
|
|
"tests/qunit/ve-cite/ve.ui.MWReferenceEditPanel.test.js",
|
|
"tests/qunit/ve-cite/ve.ui.MWReferenceGroupInputWidget.test.js",
|
|
"tests/qunit/ve-cite/ve.ui.MWReferenceResultWidget.test.js",
|
|
"tests/qunit/ve-cite/ve.ui.MWReferenceSearchWidget.test.js",
|
|
"tests/qunit/ve-cite/ve.ui.MWReferencesListDialog.test.js",
|
|
"tests/qunit/ve-cite/ve.ui.MWUseExistingReferenceCommand.test.js",
|
|
"tests/qunit/ve-cite/ve.ui.MWWikitextStringTransferHandler.test.js",
|
|
"tests/qunit/ext.cite.referencePreviews/createReferenceGateway.test.js",
|
|
"tests/qunit/ext.cite.referencePreviews/isReferencePreviewsEnabled.test.js",
|
|
"tests/qunit/ext.cite.referencePreviews/renderer.test.js"
|
|
],
|
|
"dependencies": [
|
|
"ext.cite.visualEditor",
|
|
"test.VisualEditor"
|
|
],
|
|
"optionalDependencies": {
|
|
"Popups": "ext.cite.referencePreviews"
|
|
},
|
|
"factory": "Cite\\ResourceLoader\\OptionalLoader::addOptionalDependencies"
|
|
},
|
|
"attributes": {
|
|
"CodeMirror": {
|
|
"TagModes": {
|
|
"ref": "text/mediawiki",
|
|
"references": "text/mediawiki"
|
|
}
|
|
},
|
|
"Popups": {
|
|
"PluginModules": [
|
|
"ext.cite.referencePreviews"
|
|
]
|
|
},
|
|
"VisualEditor": {
|
|
"PluginModules": [
|
|
"ext.cite.visualEditor"
|
|
]
|
|
}
|
|
},
|
|
"ConfigRegistry": {
|
|
"cite": "GlobalVarConfig::newInstance"
|
|
},
|
|
"config": {
|
|
"CiteBookReferencing": {
|
|
"description": "Temporary feature flag while the extends=\"…\" feature (a way to nest citations and e.g. reference pages in a book) is in development.",
|
|
"public": true,
|
|
"value": false
|
|
},
|
|
"CiteVisualEditorOtherGroup": {
|
|
"description": "If VisualEditor should list the citation features as part of the existing \"Insert\" drop-down menu instead of a top-level \"Cite\" toolbar button.",
|
|
"public": true,
|
|
"value": false
|
|
},
|
|
"CiteResponsiveReferences": {
|
|
"description": "If long <references /> lists with more than $wgCiteResponsiveReferencesThreshold references should behave responsive by default and be displayed in two or more columns. This can also be toggled individually with <references responsive /> to enable and <references responsive=\"0\" /> to disable it.",
|
|
"public": true,
|
|
"value": true
|
|
},
|
|
"CiteResponsiveReferencesThreshold": {
|
|
"description": "The number of references at which CiteResponsiveReferences is enabled.",
|
|
"public": true,
|
|
"value": 10
|
|
},
|
|
"CiteReferencePreviews": {
|
|
"description": "Feature flag to enable or disable the popups provided by the Popups extension for <ref> tags.",
|
|
"value": true
|
|
},
|
|
"CiteReferencePreviewsConflictingNavPopupsGadgetName": {
|
|
"description": "@var string: Name of a gadget that would cause duplicate reference preview popups. Should usually be identical to wgPopupsConflictingNavPopupsGadgetName in the Popups extension.",
|
|
"value": "Navigation_popups"
|
|
},
|
|
"CiteReferencePreviewsConflictingRefTooltipsGadgetName": {
|
|
"description": "@var string: Name of a gadget that would cause duplicate reference preview popups. Known conflicting gadgets include \"ReferenceTooltips\", \"CiteTooltip\" alias \"RefTooltip\", \"ReferencePopups\", and \"tooltipRef\" (see T274353).",
|
|
"value": "ReferenceTooltips"
|
|
}
|
|
},
|
|
"AutoloadNamespaces": {
|
|
"Cite\\": "src/"
|
|
},
|
|
"TestAutoloadNamespaces": {
|
|
"Cite\\Tests\\": "tests/phpunit/"
|
|
},
|
|
"TrackingCategories": [
|
|
"cite-tracking-category-cite-error",
|
|
"cite-tracking-category-ref-extends"
|
|
],
|
|
"ParsoidModules": [
|
|
{
|
|
"name": "Cite",
|
|
"domProcessors": [
|
|
{
|
|
"class": "Cite\\Parsoid\\RefProcessor",
|
|
"services": [
|
|
"MainConfig"
|
|
]
|
|
}
|
|
],
|
|
"tags": [
|
|
{
|
|
"name": "ref",
|
|
"handler": "Cite\\Parsoid\\Ref",
|
|
"options": {
|
|
"wt2html": {
|
|
"unpackOutput": false,
|
|
"embedsHTMLInAttributes": true
|
|
},
|
|
"outputHasCoreMwDomSpecMarkup": true
|
|
}
|
|
},
|
|
{
|
|
"name": "references",
|
|
"handler": {
|
|
"class": "Cite\\Parsoid\\References",
|
|
"services": [
|
|
"MainConfig"
|
|
]
|
|
},
|
|
"options": {
|
|
"wt2html": {
|
|
"embedsHTMLInAttributes": true
|
|
},
|
|
"html2wt": {
|
|
"format": "block"
|
|
},
|
|
"outputHasCoreMwDomSpecMarkup": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"manifest_version": 2
|
|
}
|