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

From Miranda NG
Jump to navigation Jump to search
(Howto/Add a new plugin)
 
(32 intermediate revisions by 5 users not shown)
Line 1: Line 1:
To add a new plugin to [[Plugin list]] and [[Download]] pages you should do the following:
__TOC__
* 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]]. Information about the plugin can be found on Plugins page of Miranda options. Details on the parameters:
== [[Plugin list]] and [[Download]] pages ==
name = Plugin name
To add a new plugin to these pages you should do the following:
screenshot = Screenshot filename (Use *** if no screenshot is needed)
author = Plugin author
authors = Plugin authors*
requirements = (o) System requirements (e. g. necessary runtime libraries)**


<nowiki>*</nowiki> Use [[Template:While]] to list two up to four developers (see the example below)<br/><nowiki>**</nowiki> (o) — parameter is optional


You might want to hide some download links in some cases (e. g. new plugins usually don't have stable versions until next stable Miranda NG is released). Use the appropriate "hide" parameter:
=== Add it to Template:Plugins ===
hide-s32=1 = (o) to hide link for x32 stable
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.
hide-s64=1 = (o) to hide link for x64 stable
hide-l32=1 = (o) to hide link for x32 latest
hide-l64=1 = (o) to hide link for x32 latest


Also, some plugins might have download links that differ from the default ones (see IM_Updater and Skype for example).


; Example
=== Update [[Template:PluginInfo]] ===
<pre>|SamplePlugin = {{#hashdefine:{{#var:PluginFileName}} |name=Sample plugin; screenshot=SamplePlugin.jpg; authors={{while|tpl=Developer|Author 1|Author 2|Author 3}}; requirements=syslib.dll; hide-s32=1; hide-s64=1; |;|=}}</pre>
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.
<pre style="overflow:auto;">
|MRadio
|mRadio = {{#hashdefine:{{#var:PluginFileName}} | |;;|=}}
</pre>


* 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.
Add other information about the plugin which can be found on ''Plugins'' page of Miranda options.


* Each plugin has its own page for detailed description. To create a page for the newly added plugin go to [[Plugin list]] or [[Download]] page, select its version in your language and click the name of the new plugin (it will be written in red). Use any Plugin:<PluginFilename>/* page as example.
==== Details on PluginInfo parameters ====
<pre style="overflow:auto;">
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)
</pre>
 
<nowiki>*</nowiki> (o) — parameter is optional<br/>
<nowiki>**</nowiki> Use [[Template:While]] to list all developers (see the example below)
 
===== Managing download links =====
{{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:
<pre style="overflow:auto;">
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
</pre>
 
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):
<pre style="overflow:auto;">
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
</pre>
 
When using these parameters mind syntax differences:
<pre style="overflow:auto;">
link-s32=https://wiki.miranda-ng.org/x32/sampleplugin.zip
but
additionalLinks=[https://wiki.miranda-ng.org/x32/sampleplugin.zip link text]
</pre>
 
==== Example of PluginInfo entry ====
<pre style="overflow:auto;">
|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;; |;;|=}}
</pre>
 
 
=== 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 [[:Category:Plugin descriptions|Plugin descriptions]] category.
 
 
== 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:
* 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:
<pre style="overflow:auto;">
{{PluginCard}}
<The article itself here>
 
{{PluginGroups}}
</pre>
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:
<pre style="overflow:auto;">
{{Resolve Language}}<!--
* Do not edit this article. You should edit subpages of the article instead.
* Не редактируйте этот файл, вам нужно править подстраницы этой статьи.
-->
</pre>
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:
<pre style="overflow:auto;">
|<Plugin_Filename> = {{#hashdefine:{{#var:PluginFileName}} | |;;|=}}
</pre>
 
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.
<pre style="overflow:auto;">
|MRadio
|mRadio = {{#hashdefine:{{#var:PluginFileName}} | |;;|=}}
</pre>
 
For plugins in testing stage please add <tt>grp-testing=1</tt> so that the whole entry would look as follows:
<pre style="overflow:auto;">
|<Plugin_Filename> = {{#hashdefine:{{#var:PluginFileName}} |grp-testing=1;; |;;|=}}
</pre>
 
 
== Updating Template:Group/* ==
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 ==
* [[../Create new language|How to create new language]]
 
[[Category: Howto]]

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