metadata block revise
https://wiki.greasespot.net/Metadata_Block#Description
The metadata block appears in JavaScript line comments and may appear anywhere in the top level Greasemonkey code scope of the script, but is usually near the top of the file.
Although not common, it does not match the original documentation, such as the following script does not work properly in this extension:
console.log("DEBUG1"); // not work
// ==UserScript==
// @name DEBUG
// @match *://*/*
// ==/UserScript==
console.log("DEBUG2");
The code before the metadata block will be ignored and will not be executed.
https://wiki.greasespot.net/Metadata_Block#@name
As of Greasemonkey 2.2: can be localized for multiple languages, for example:
// @name Example Script // @name:cs Uživatelské skripty // @name:es-MX Ejemplo Script // @name:ru Пользовательские скриптыAdd a colon and the locale code, which is the ISO 639 language code and optionally a hyphen and ISO 3166 country code, when disambiguation is necessary. When the user's browser is configured with the matching primary language, that value will be displayed instead.
Localized @name or @description is not supported in this extension.
https://wiki.greasespot.net/Metadata_Block#@name
If no name is provided, it will be derived from the file name.
@name may be optional in some cases, which is a must in this extension.
https://wiki.greasespot.net/Metadata_Block#@namespace
The combination of namespace and name is the unique identifier for a Greasemonkey script. If a script is being installed, and a script with that same name and namespace already exists, it will be replaced by the new script. Otherwise, the new script is added to the set of installed scripts. A script author will usually put all of their scripts under one common namespace, and then assign each script a unique name.
@namespace is not supported, which may cause the file to accidentally overwrite the script of the same name.