Help:Howto/Add a new plugin: Difference between revisions

From Miranda NG
Jump to navigation Jump to search
(we also should update Template:Group/*)
(4 intermediate revisions by 2 users not shown)
Line 36: Line 36:


===== Managing download links =====
===== Managing download links =====
{{Tip|Don't forget to add <tt><nowiki>hide-stable=1</nowiki></tt> to the new plugin's entry. As a rule they have no stable versions until next stable Miranda NG is released.}}
{{TNT|Tip|Don't forget to add <tt><nowiki>hide-stable=1</nowiki></tt> to the new plugin's entry. As a rule they have no stable versions until next stable Miranda NG is released.}}
You might want to hide some download links in some cases. Use the appropriate "hide" parameter:
You might want to hide some download links in some cases. Use the appropriate "hide" parameter:
<pre style="overflow:auto;">
<pre style="overflow:auto;">
Line 63: Line 63:
additionalLinks=[https://wiki.miranda-ng.org/x32/sampleplugin.zip link text]
additionalLinks=[https://wiki.miranda-ng.org/x32/sampleplugin.zip link text]
</pre>
</pre>


==== Example of PluginInfo entry ====
==== Example of PluginInfo entry ====
Line 78: Line 77:


== Creating a page for plugin ==
== Creating a page for plugin ==
{{Todo|Rewrite when dependecies from old system and "Resolve Language" in "PluginCard" would be resolved}}
{{TNT|Warning|Instruction provided below aren't completely correct anymore. As long as this message is visible ask '''Goraf''' for details how to do it correctly.}}
Each plugin has its own page for detailed description. To create a page for the newly added plugin take the following steps:
Each plugin has its own page for detailed description. To create a page for the newly added plugin take the following steps:
* Go to [[Plugin list]] or [[Download]] page
* Go to [[Plugin list]] or [[Download]] page
Line 89: Line 90:
{{PluginGroups}}
{{PluginGroups}}
</pre>
</pre>
Please do not add text below <tt><nowiki>{{PluginGroups}}</nowiki></tt>. You may use any Plugin:<Plugin_Filename>/* page as example.
Please do not add text below <code><nowiki>{{PluginGroups}}</nowiki></code>. You may use any Plugin:<Plugin_Filename> page as example.


Besides, each plugin has a page named Plugin:<Plugin_Filename> (without any language code) which contains the following text:
Besides, each plugin has a page named Plugin:<Plugin_Filename> (without any language code) which contains the following text:
Line 98: Line 99:
-->
-->
</pre>
</pre>
The [[Template:Resolve Language|Resolve Language]] template is used to resolve subpage of plugin article per user language basis.
The Resolve Language template is used to resolve subpage of plugin article per user language basis.


It is desired that you create such a page for the new plugin too. You will be prompted to do it if such a page does not exist. Displayed warning will let you do it in a simple way. Just click and save.
It is desired that you create such a page for the new plugin too. You will be prompted to do it if such a page does not exist. Displayed warning will let you do it in a simple way. Just click and save.


== Updating [[Template:PluginInfo/Groups]] ==
== Updating [[Template:PluginInfo/Groups]] ==
Line 123: Line 123:
== Updating Template:Group/* ==
== Updating Template:Group/* ==
All Group templates can be found in the [[:Category:Plugin_groups|Plugin groups]] category.
All Group templates can be found in the [[:Category:Plugin_groups|Plugin groups]] category.
== Updating [[:Template:StdModules|StdModules]] ==
if you add a new core plugin, then place it into [[:Template:StdModules|StdModules]].
== Updating [[Special:AggregateGroups]] ==
Add plugin to <tt>"MirandaNG plugins"</tt>.


== See also ==
== See also ==

Revision as of 22:58, 14 December 2019

Plugin list and Download pages

To add a new plugin to these pages you should do the following:


Add it to Template:Plugins

Add the plugin to Template:Plugins as it is done for existing ones. Note that it is the plugin's filename (without .dll) to be added there.


Update Template:PluginInfo

Add the plugin's filename to the template as it is done for existing ones. If the first letter of the plugin's filename is in lowercase, then you have to add it using lower- and uppercase as the first letter. It is necessary for templates to work correctly. See mRadio example below.

|MRadio
|mRadio = {{#hashdefine:{{#var:PluginFileName}} | |;;|=}}

Add other information about the plugin which can be found on Plugins page of Miranda options.

Details on PluginInfo parameters

name=		Plugin name
filename=	(o) Use it if the name of the plugin file is other than name of the plugin itself.*
hideFileName=1	(o) to hide the name of the file*
screenshot=	Screenshot filename (Use *** if no screenshot is needed)
screenshotOpt = (o) Options for displaying the screenshot.
		If specified but empty default options (border|200px) will be removed.
		Specified options have to be separated by Template:! e.g. border{{!}}200px
author=		Plugin author
authors=	Plugin authors**
requirements=	(o) System requirements (e.g. necessary runtime libraries)

* (o) — parameter is optional
** Use Template:While to list all developers (see the example below)

Managing download links
Tip
Don't forget to add hide-stable=1 to the new plugin's entry. As a rule they have no stable versions until next stable Miranda NG is released.

You might want to hide some download links in some cases. Use the appropriate "hide" parameter:

hide-s32=1	(o) to hide link for x32 stable version
hide-s64=1	(o) to hide link for x64 stable version
hide-l32=1	(o) to hide link for x32 latest version
hide-l64=1	(o) to hide link for x64 latest version
hide-stable=1	(o) to hide links for stable versions
hide-latest=1	(o) to hide links for latest versions
hideDownloadLinks=1	(o) to hide the default download links all at once

Also, some plugins might have download links that differ from the default ones. In this case the following parameters are used (see IM_Updater for example):

link-s32=	(o) to specify custom download link for 32-bit stable version
link-s64=	(o) to specify custom download link for 64-bit stable version
link-l32=	(o) to specify custom download link for 32-bit latset version
link-l64=	(o) to specify custom download link for 64-bit latset version
additionalLinks= (o) to specify download links for additional files or in other cases

When using these parameters mind syntax differences:

link-s32=https://wiki.miranda-ng.org/x32/sampleplugin.zip
 but
additionalLinks=[https://wiki.miranda-ng.org/x32/sampleplugin.zip link text]

Example of PluginInfo entry

|SamplePlugin = {{#hashdefine:{{#var:PluginFileName}} |name=Sample plugin;; screenshot=SamplePlugin.jpg;; authors={{while|tpl=Developer|Author 1|Author 2|Author 3}};; requirements=syslib.dll;; hide-stable=1;; |;;|=}}


Update Template:PluginDescription/*

Template:PluginDescription/* is the last to edit. This one is localization-dependent so update its version in your language. Add a short description of the plugin as it is done for existing ones. Usually the description from Plugins page of Miranda options is enough. See Template:PluginDescription/en for example.

All PluginDescription templates can be found in the Plugin descriptions category.


Creating a page for plugin

Todo: Rewrite when dependecies from old system and "Resolve Language" in "PluginCard" would be resolved
Warning
Instruction provided below aren't completely correct anymore. As long as this message is visible ask Goraf for details how to do it correctly.

Each plugin has its own page for detailed description. To create a page for the newly added plugin take the following steps:

  • Go to Plugin list or Download page
  • Select its version in your language
  • Click the name of the new plugin (it will be written in red).

Here's what a plugin page usually looks like:

{{PluginCard}}
<The article itself here>

{{PluginGroups}}

Please do not add text below {{PluginGroups}}. You may use any Plugin:<Plugin_Filename> page as example.

Besides, each plugin has a page named Plugin:<Plugin_Filename> (without any language code) which contains the following text:

{{Resolve Language}}<!--
* Do not edit this article. You should edit subpages of the article instead.
* Не редактируйте этот файл, вам нужно править подстраницы этой статьи.
-->

The Resolve Language template is used to resolve subpage of plugin article per user language basis.

It is desired that you create such a page for the new plugin too. You will be prompted to do it if such a page does not exist. Displayed warning will let you do it in a simple way. Just click and save.

Updating Template:PluginInfo/Groups

To help further categorize plugin pages on this wiki add the following entry for the new plugin:

|<Plugin_Filename> = {{#hashdefine:{{#var:PluginFileName}} | |;;|=}}

If the first letter of the plugin's filename is in lowercase, then you have to add it using lower- and uppercase as the first letter. It is necessary for templates to work correctly. See mRadio example below.

|MRadio
|mRadio = {{#hashdefine:{{#var:PluginFileName}} | |;;|=}}

For plugins in testing stage please add grp-testing=1 so that the whole entry would look as follows:

|<Plugin_Filename> = {{#hashdefine:{{#var:PluginFileName}} |grp-testing=1;; |;;|=}}


Updating Template:Group/*

All Group templates can be found in the Plugin groups category.


Updating StdModules

if you add a new core plugin, then place it into StdModules.


Updating Special:AggregateGroups

Add plugin to "MirandaNG plugins".


See also