Wikifunctions talk:Catalogue
Uncatalogued functions
A list of available functions that are not in the Catalogue (probably with good reason).
Please do not edit this list unless the function has been added to the Catalogue.
I aim to refresh this list periodically. Edits may be over-written, inadvertently or otherwise. Please let me know of any functions that should not (for whatever reason) be listed in future updates of this list of uncatalogued functions.
GrounderUK (talk) 14:28, 19 February 2024 (UTC)
- Surely, most of them should not be listed? The first line is
This is a guided list of example functions provided.
- … so it by definition should never have all, or even most, functions, but instead an overview and possibly a link to a more detailed page? Jdforrester (WMF) (talk) 16:09, 21 February 2024 (UTC)
- I agree. What I meant to say is that I can exclude any functions that should not be included in this list of uncatalogued functions (for whatever reason). I’ll tweak the wording a little. Thank you for highlighting the risk of confusion. GrounderUK (talk) 16:27, 21 February 2024 (UTC)
Updated February 19th, 2024 (2024-19-02)
Built-in functions
- Unquote (Z899)
- Code point equality (Z888): tests whether two code-point realisations (as entered) have identical Unicode code-point representations
- Codepoint list to string (Z886)
- Errortype to type (Z885)
- Typed Map (Z883)
- Typed pair (Z882): A type that holds a pair of types
- Typed list (Z881): A list containing items of the same type
- Reduce Function (Z876): iterates the application of a two-parameter function, the first parameter uses the initial object or the previous result, the second parameter uses the next item on the list
- String to codepoint list (Z868)
- Language code to language (Z860): Converts language code (input) to language name (output)
- Validate against schema (Z831)
- fetch Persistent object (Z828)
- Get envelope from function call (Z823)
- Get second element of a Typed pair (Z822)
- Get first item of a Typed pair (Z821)
- Trigger metadata (Z820)
- Abstract (Z808)
- Reify (Z805)
- Values by keys (Z804)
- Value by key (Z803)
- Echo (Z801): returns the argument unchanged
Validator functions
- Validate quote (Z199): no description
- Validate code point (Z186): no description
- Validate byte (Z180): no description
- Validate programming language (Z161): no description
- Validate natural language (Z160): no description
- Validate error type (Z150): no description
- Validate boolean (Z140): no description
- Validate key reference (Z139): no description
(Other validator functions are currently included within Community functions.)
Community functions
(Currently includes some validator functions.)
- gregorian to nengō (Z13300): converts a given gregorian year to japanese year format, in case of pivotal year, returns both results
- English -ed form (Z13284): past tense and past participle form of the verb
- English -ion base form (Z13280): The transformation of a verb into an agent noun by adding the suffix "-ion"
- English -er form (Z13262): English verb to agent noun ending in -er
- suffix English word (Z13254): add any suffix to an English word with regular changes to spelling (monosyllabic or final-syllable stress is generally assumed)
- faro out-shuffle (Z13247): a perfect riffle shuffle see https://en.wikipedia.org/wiki/Faro_shuffle
- split list into a list of two ~equal length lists (Z13224): Keeps the order of elements, first half on first list. If odd length, the first list will have just over half.
- are all elements of the list the same type (Z13220): true if all elements of the list have the same type, or if empty
- Regular English past participle (Z13213): Returns the -ed form of a regular English verb
- Is irregular English word (lemma) (Z13206): Returns True if a string is in the enumeration of irregular lemmas
- Validate multilingual stringset (Z132): no description
- English -ed form (regular) (Z13177): Create the past participle of an English verb
- get value string from key string (Z13173): no description
- get day of week from date (Z13163): returns the day of week when given a date as year, month and day of the month
- interleave lists (Z13155): interleave lists of same length together such that [ A .. Z ], [ 1 .. 26 ]...n return [ A, 1, B, 2 .. n] and if there are uneven list of same size or if this list doesnt contain lists throughout it returns an empty list
- xorwow (Z13147): xorwow rng algorithm
- any Hebrew in string? (Z13138): Returns true if any character in the string is in the Hebrew Unicode block
- Mutual conversion between katakana and hiragana (Z13124): Convert katakana to hiragana and hiragana to katakana
- Validate monolingual stringset (Z131): no description
- hyperbolic arccotangent (Z13085): Returns the hyperbolic arccotangent of a number
- remove all matching elements from list (Z13081): returns a list equal to the original list with all matching element removed
- remove duplicates from untyped list (Z13078): remove second and subsequent duplicate items without changing the order of the list
- Z13076
- Infix to Postfix (Z13060): converts infix operators and operands to postfix format
- object equality (Z13052): takes two objects as arguments and tests if they are exactly equal including same type representation (when mapped to python) and their types have an unambiguous concept of equality
- Thai nominalization of verb (Z13034): Nominalize a Thai verb by prepending string "การ"
- colour contrast ratio (Z13028): returns colour contrast ratio 'X:1' for given hex colours
- opposite colour (Z13023): in the RGB color space
- convert hex color (Z13017): converts a hexadecimal color code into HSL, HSV, RGB, and CMYK formats
- Thai nominalization of adjective (Z13013): Nominalize a Thai adjective and/or adverb into a noun by prepending string "ความ"
- is the day name part of the French Republican Calendar 'rural' naming? (Z13006): tests if input is one of the French-language names for days in the FRC
- Mix colours (Z12997): Calculates the midpoint between two colours. It prefers input in hexadecimal but also accepts basic colour names.
- (!) type implied by string (Z12992): no description
- Binary to hexadecimal (Z12987): Takes a binary number set and returns the equivalent Hexadecimal number.
- Binary to decimal (Z12982): Takes a binary number set and returns the equivalent decimal number.
- Ones complement binary subtraction (Z12975): Performs binary subtraction using the ones complement method.
- Ones complement binary addition (Z12971): Performs binary addition using the ones complement method.
- Esperanto volitive mood (Z12938): write indicative volitive mood form of Esperanto verb
- Esperanto conditional verb (Z12936): write conditional form of Esperanto verb
- Esperanto indicative future tense (Z12934): write indicative future tense form of Esperanto verb
- Esperanto indicative past tense (Z12932): write indicative past tense form of Esperanto verb
- Esperanto indicative present tense (Z12930): write indicative present tense form of Esperanto verb
- (!) Acceleration (m/s2, Newton's Second law) (Z12910): Calculation of the acceleration of a material point according to Newton's Second Law
- Esperanto verb stem (Z12908): writes the stem of an Esperanto verb
- Decimal to ASCII (Z12905): converts a string with decimal representations of numbers into ASCII text
- join list of strings (Z12899): returns string composed of list elements separated by a given delimiter
- validate Sundanese script (Z12884): returns true if and only if the Sundanese script within the input text is valid
- language code of monolingual text (Z12877): returns the language code for a monolingual text
- string is fixpoint of function (Z12875): check if a string function evaluated at a value has the same value
- remove first matching element from list (Z12856): returns a list equal to the original list with the first matching element removed
- is superset (Z12846): test whether the first list contains all elements of the second (and contains at least as many as any repeated elements)
- English adjective based on scientific name of plant family (Z12828): Scientific names of plants end on -ceae, and the corresponding adjective is -ceous.
- Sundanese script to Latin (Z12818): converting Sundanese script within a text to Latin
- remove html tags (Z12815): Given a string containing html tag(s), returns a string without html tags
- Caesar cipher (Latin alphabet) (Z12812): rotates letters in the Latin alphabet forward by a defined number of places
- Turkish Latin to Armeno-Turkish script (Z12801): converts Turkish strings from the Latin alphabet to the Ottoman Armenian script orthography
- csv to list of strings (Z12794): Converts a validly formatted (RFC 4180) comma-separated value series into a valid list of strings (not including the commas or row start or row end characters), where any whitespace and quotes are unchanged. Be careful to validly render CSV with quoted fields.
- left fold (Z12781): combine the result of recursively combining the rest, with the last element, according to a combining function
- right fold (Z12753): combine the first element with the result of recursively combining the rest, according to a combining function
- all distinct permutations (Z12745): returns a list of all distinct permutations of the input list, each is itself a list
- Burrows–Wheeler transform (Z12729): no description
- (!) list median (Z12727): returns the median of a list
- list mean (Z12723): find the average of a list of numbers
- Hindustani (Hindi) verb conjugation (Z12714): returns list of verb forms given direct case gerund form of verb
- Hindustani (Urdu) verb conjugation (Z12712): returns list of verb forms given direct case gerund form of verb
- calculate World Athletics points (Z12710): given a sport of athletics performance, calulate its points value via World Athletics tables
- length of a list (Z12681): number of objects on a list
- flat a list (Z12676): flatten a list to limited depth
- sort a list by string length (Z12671): no description
- (!) exponentiation (Z12665): raises a base to the power of an exponent, see Z13647 for the natural number version
- is Armstrong number (Z12636): Sum of individual digit to the power total number of digits is equal to original number.
- Replicate string n-times (Z12624): Replicates a string n times: (e.g. f("a",5) -> "aaaaa")
- Z12622
- remove charges from SMILES string (Z12617): removes all the charges which are indicated in SMILES strings
- expand from numeric charges in SMILES string (Z12611): expands the charges with magnitudes greater than one in SMILES strings, e.g. [Ti+4] to [Ti++++]
- Round to decimal places (Z12606): Rounds a given floating-point number to a whole number of decimal places.
- (!) kronecker delta (Z12602): Given two integer numbers i and j returns 1 if i is equals to j and 0 otherwise
- classical Chinese arrange and negate verb + direct object (Z12599): 其实也可以用“无”,如“我无尔诈,尔无我虞”。
- regular Croatian positive definite masculine singular genitive adjective form (Z12587): no description
- regular Croatian positive definite masculine singular nominative adjective form (Z12578): no description
- is prime (Z12427): Checks if the provided integer is prime or not.
- Has diacritics (Z12400): Whether a string has diacritics or not
- Remove diacritics (Z12391): Remove diacritics from a given string
- regular expression substitute with flags (Z12316): $N for capture groups. Flags supported should at least be 'i', 'm', and 'g'.
- Convert line endings: CRLF to LF (Z12315): Convert line endings from Windows-style CRLF to Unix-style LF.
- Validate nothing (Z123): no description
- is leap year (Hebrew Calendar) (Z12294): returns true if the given year contains a second month of Adar in the Hebrew calendar
- Finnish genitive singular (Z12262): Finnish nominative singular to Finnish genitive singular.
- Z12257
- What is this function? (Z12255): Given a Wikifunction identifier, return its human-readable labels
- Urdu join feminine singular suffix (Z12247): given prepared verb string join +ī to end
- Urdu join masculine plural suffix (Z12238): joins +e to end of prepared verb strings
- Urdu join masculine singular suffix (Z12236): joins +ā to end of prepared verb ending strings
- Urdu join verb stem to imperfect participle (Z12234): given verb stem (with joining ending) add +t to attach to nominal endings
- Urdu join verb stem to potential participle/gerund (Z12232): given stem (with joining ending) add +n to link nominal endings
- Urdu join verb stem to conjunctive adverbial (Z12230): given verb stem adds +[space]k for conjunctive adverbial forms
- Urdu verb stem from gerund (Z12228): returns verb stem given direct case gerund form of Hindustani (Urdu) verb
- Urdu remove gerund suffix (Z12225): given direct case gerund form of Hindustani (Urdu) verb, returns string without suffix -nā
- Bilibili bvid to avid (Z12219): Bilibili video ID (d:Property:P6456) has two formats and this function converts bvid to avid.
- Bilibili avid to bvid (Z12217): Bilibili video ID (d:Property:P6456) has two formats and this function converts avid to bvid.
- Devanagari to Mundari Bani (Z12215): script conversion from Devanagari to Mundari Bani
- Validate Evaluation result (Z122): no description
- Balochi (Sayad Hashmi orthography) adjective attributive form (Z12121): adds attributive ending to predicative (citation) form
- Validate Unit (Z121): no description
- Z12012
- Validate test case (Z120): no description
- deprecated: German noun, -(e)s genitive declension (Z11991): generate the -(e)s genitive of German nouns (picking the more likely form; may be replaced later)
- regular Croatian neuter instrumental plural (Z11989): no description
- regular Croatian neuter locative plural (Z11987): no description
- regular Croatian neuter vocative plural (Z11985): no description
- regular Croatian neuter accusative plural (Z11983): no description
- regular Croatian neuter dative plural (Z11978): no description
- regular Croatian neuter genitive plural (Z11973): no description
- regular Croatian neuter nominative plural (Z11969): no description
- ends with one of AEIOU (Z11961): no description
- regular Croatian neuter instrumental singular (Z11960): no description
- regular Croatian neuter vocative singular (Z11954): no description
- regular Croatian neuter locative singular (Z11949): no description
- regular Croatian neuter dative singular (Z11944): no description
- correct unbracketed atoms in SMILES string (Z11917): checks that all atoms outside [] brackets are valid
- all bonds in SMILES string have atoms in between (Z11903): consecutive bonds need an atom in between them https://en.wikipedia.org/wiki/SMILES
- all characters in SMILES string are valid (Z11899): see https://en.wikipedia.org/wiki/SMILES
- correct bracketed atoms in SMILES (Z11891): tests that all bracketed atoms are valid (https://en.wikipedia.org/wiki/SMILES)
- condense to numeric charges in SMILES string (Z11884): condenses the charges with magnitudes greater than one in SMILES strings, e.g. [Ti++++] to [Ti+4]
- replace vowel at end with suffix, else just add suffix (Z11874): Croatian neuter noun declension
- is it one of AEIOU (Z11863): test a single character string to see if it is a,e,i,o, or u. Case insensitive.
- and (octanary) (Z11849): takes eight boolean inputs and returns true if and only if they are all true
- regular Croatian neuter accusative singular (Z11843): no description
- regular Croatian neuter genitive singular (Z11839): no description
- remove stereochemical specificity at tetrahedral sites in SMILES string (Z11815): minimal removal of @ or @@ leaving everything else intact, even if it can then be simplified
- remove isotopic specificity in SMILES (Z11811): minimally replace any validly specified isotopes in a SMILES string with the generic atom
- Validate argument reference (Z118): no description
- is ISBN-10 (Z11705): check if a given ISBN string is valid
- Validate argument declaration (Z117): no description
- NATO phonetic alphabet DIN 5009 IPA transcription decode (Z11676): no description
- NATO phonetic alphabet DIN 5009 IPA transcription encode (Z11674): no description
- NATO phonetic alphabet ICAO IPA transcription decode (Z11672): no description
- NATO phonetic alphabet ICAO IPA transcription encode (Z11670): no description
- NATO phonetic alphabet ICAO pronunciations decode (Z11668): Period separated ICAO pronunciations decoded to letters and numbers. Try to accommodate diff formats
- English nominative to accusative (Z11651): converts a nominative (subject) pronoun to the accusative (objective) case
- NATO phonetic alphabet ICAO pronunciations encode (Z11642): no description
- Hindko plural (Z11640): no description
- string identity (Z11602): returns a string unchanged
- Validate code (Z116): no description
- link in wikitext (Z11585): Given a target and title, creates a wikilink wikitext
- is tautogram (Z11577): check if all all words start with the same letter
- is heterogram (Z11573): True if no character occurs more than once
- previous character (Z11564): returns the character one codepoint before the input character
- remove emoticons/emoji (Z11553): remove all emoticons and emoji from the input string
- pretty ' (Z11490): replace ' with pretty left-right quotes depending on position
- pretty " (Z11484): replace " with pretty left-right quotes depending on position
- regular Croatian neuter nominative singular (Z11482): no description
- regular Croatian masculine vocative plural (Z11480): no description
- regular Croatian masculine instrumental plural (Z11478): no description
- regular Croatian masculine locative plural (Z11476): no description
- regular Croatian masculine accusative plural (Z11470): no description
- PCRE escape (Z11461): adds a backslash character to characters in the string which would be interpreted as regex
- regular Croatian masculine dative plural (Z11457): no description
- regular Croatian masculine genitive plural (Z11453): no description
- regular Croatian masculine nominative plural (Z11449): no description
- regular Croatian masculine instrumental singular (Z11445): no description
- regular Croatian masculine vocative singular (Z11441): no description
- Validate implementation (Z114): no description
- regular Croatian masculine locative singular (Z11370): no description
- regular Croatian masculine accusative singular (Z11366): no description
- regular Croatian masculine dative singular (Z11361): no description
- Croatian masculine noun declension (Z11355): used for creating a number of masculine noun forms in Croatian that all have similar patterns
- is DNA nucleic acid notation (Z11342): Accept correct notation as generally as possible. Use another function for strict ACGT only.
- regular Croatian masculine genitive singular (Z11340): no description
- regular Croatian masculine nominative singular (Z11336): no description
- regular Croatian feminine instrumental plural (Z11332): no description
- hamming distance between two strings (Z11328): the strings should be of equal length, otherwise will return -1
- regular Croatian feminine vocative plural (Z11319): no description
- regular Croatian feminine locative plural (Z11314): no description
- regular Croatian feminine accusative plural (Z11308): no description
- regular Croatian feminine dative plural (Z11298): no description
- sort letters of a string (Z11289): Takes a string and returns a string where all the letters from the string are sorted by codepoint.
- regular Croatian feminine genitive plural (Z11288): no description
- regular Croatian feminine nominative plural (Z11284): no description
- regular Croatian feminine nominative singular (Z11277): no description
- regular German verb in the second person plural present (Z11272): no description
- regular German First person plural present verb (Z11268): no description
- regular German Second person singular present verb (Z11264): no description
- stem German verb (Z11259): no description
- regular German First person singular present verb (Z11256): no description
- regular Croatian feminine instrumental singular (Z11254): no description
- regular Croatian feminine vocative singular (Z11245): no description
- regular Croatian feminine locative singular (Z11231): no description
- is SMILES notation (Z11208): check if valid https://en.wikipedia.org/wiki/Simplified_molecular-input_line-entry_system
- regular Croatian feminine accusative singular (Z11204): no description
- Validate multilingual text (Z112): no description
- regular Croatian feminine dative singular (Z11199): no description
- Convert wikitable to list (Z11184): A function for converting wikitables into bullet lists or into numbered lists
- regular Croatian feminine genitive singular (Z11165): creates from a lemma of a feminine Croatian noun the regular genitive singular
- Z11142
- bold in Wikitext (Z11139): bold a string by triple quoting, e.g. (ABC -> '''ABC'''). Careful if there are special characters.
- is valid positive integer (Z11129): checks a string for being a positive integer (all characters are digits, and the value is not 0)
- remove duplicate characters (Z11102): keeps only first instance of each character
- Validate monolingual text (Z111): no description
- Get Text Fragment (Z11071): Gets the text fragment in a URL
- URL query string (Z11053): returns everything after the "?" in a URL, excluding URL fragment (#), and a blank string if no match
- URL parameter (Z11049): Returns the value of the specified parameter in a URL, and an empty string if no match
- URL Fragment (Z11044): Get the URL fragment from a given URL, returns everything after #
- Is monosyllabic (Turkish) (Z11036): no description
- italicise a simple string in Wikitext (Z11019): wrap string with two pairs of single quotes (ABC -> ''ABC''). Careful using this if your text has special formatting characters.
- Base16 Decode (Z11007): Decode a string from base16
- Base16 Encode (Z11003): Encode a string into base16
- Hebrew convert to Maqaf / En dash (Z10993): Hebrew convert hyphen-minus to punctuation Maqaf / En dash, according to the context of the nearest characters + according to the meaning of common cases. This function relies on the more basic version, [[Z10894]].
- HTML named character escape (Z10987): takes a string with UTF-8 characters and returns a string with the HTML encoded characters in place
- transliterate Javanese script (Z10975): this function transliterate from Javanese script to Latin
- unescape named HTML characters (Z10938): HTML encoded characters to UTF-8, see https://html.spec.whatwg.org/multipage/named-characters.html
- duplicate string N times (Z10911): 入力された文字列をN回複製して、結合した形で出力する
- dashes to hyphen-minus (Z10908): replace all [[:en:Dash|dashes]] with a [[:en:Basic_Latin_(Unicode_block)|U+002D hyphen-minus]]
- Validate reference (Z109): no description
- Hebrew convert to Maqaf / En dash (Basic) (Z10894): Hebrew convert hyphen-minus to punctuation Maqaf / En dash, according to the context of the nearest characters. The conversion is naive, not done according to the meaning. For an extended and improved function see: [[Z10993]]
- final to normal form (Hebrew) (Z10891): Convert hebrew final form letter(s) to normal form, regardless of location in the words, always. See also: [[Z10888]].
- to final form (Hebrew) (Z10888): Convert hebrew letter(s) to its final form, regardless of location in the words, always. See also: [[Z10891]].
- Norwegian genitive (Z10869): function that returns a correct genitive form in Norwegian
- string after other string (Z10866): return the part of a full string following the first occurrence of a search substring
- Z10843
- string intersperse (Z10831): Intersperse a string
- is EAN (Z10821): Checks whether the given string is a valid EAN identifier (with a correct check digit)
- remove punctuation (Z10812): removes punctuation from a string
- is IP (Z10802): Determine whether the input string is in the correct IP address format
- Validate function (Z108): no description
- is IPv6 (Z10786): Check if a string is a valid IPv6 address
- Unicode code point encode hex (Z10785): Takes a Unicode string and returns a space-separated list of hexadecimal Unicode code points.
- add two integer strings (Z10782): Returns the sum of two integers as a string
- sentence case (Z10771): Uppercase the first letter of the sentence
- duplication with space (Z10770): takes a string and returns it duplicated with a space
- is ISSN (Z10765): returns true if the input string is a valid ISSN
- file name to file extension (Z10745): Returns the file extension (without the ".") of a given file name
- remove all non-digits (Z10742): removes all characters except for digits 0-9
- reverse lines (Z10737): Reverses the order of lines in a string.
- boolean to string (Z10730): Converts a boolean to a lowercase string for string comparison.
- join booleans (Z10725): Joins two booleans into a string for string comparison (Should be lowercase)
- Perso-Arabic breaking character (Z10708): returns true if given character creates a break in letter joining
- Validate function call (Z107): no description
- is it a valid Qid? (Z10696): Checks if a given string is a valid Qid in Wikidata i.e. if it resolves to an item.
- is a Turkish consonant (Z10689): given a character, returns boolean for whether the letter is a consonant or not in Turkish
- is it a Turkish vowel? (Z10682): Given a character, returns boolean for whether the letter is a vowel or not.
- get URI scheme (Z10673): funzione per ottenere lo schema di un URI
- Tajik morpheme join (Z10645): join parts of words in Tajik Persian
- is alphanumeric (Z10641): prüft ob die Zeichenkette nur Buchstaben und Zahlen enthält
- HTML anchor tag (Z10638): Generates an HTML tag for a given URL and label
- encode URI component (Z10608): no description
- Validate string (Z106): no description
- nth string from a dashed list of strings (Z10596): erhält aus einer Liste von Zeichenkette, die durch Bindestriche getrennt sind, die n-te Zeichenkette
- DMS coordinate to decimal (Z10567): Given a sexagesimal coordinate transforms to the corresponding decimal notation
- is character Hebrew? (Z10561): Determines whether a character is in the Hebrew Unicode block or not.
- inverse binary number (Z10559): The function inverts every bit of the input
- is palindrome (grapheme level) (Z10553): version of is palindrome (Z10096) that is Unicode grapheme aware
- reverse string (grapheme level) (Z10548): version of Reverse String (Z10012) that is Unicode grapheme aware
- is Whyte notation (Z10524): checks if string is a valid Whyte notation
- Unicode character name (Z10507): For some characters please use with hex to string (Z10373)
- Validate error (Z105): no description
- (!) get gloss string from sense JSON (Z10499): (!) approximates mw.wikibase.lexeme.entity.sense:getGloss(languageCode)
- (!) get representation string from form JSON (Z10495): (!) approximates mw.wikibase.lexeme.entity.form:getRepresentation(languageCode)
- is IPv4 (Z10476): checks if string is a valid IPv4
- hyphenate ISBN-10 (Z10475): no description
- Brainfuck Interpreter (Z10441): interpreter of Brainfuck code
- are strings anagrams (Z10423): Whether one of the input strings can have its codepoints rearranged to become the other string.
- is valid email address (Z10410): Check whether a given string is a valid email address
- is NFKD (Z10400): prüft, ob eine Zeichenkette in NFKD vorliegt
- Validate type (Z104): no description
- is NFKC (Z10399): prüft, ob eine Zeichenkette in NFKC vorliegt
- is NFD (Z10398): prüft, ob eine Zeichenkette in NFD vorliegt
- is NFC (Z10397): prüft, ob eine Zeichenkette in NFC vorliegt
- to NFKD (Z10394): 文字列をUnicodeの正規化形式KDに変換する
- Levenshtein Distance (Z10393): gibt eine Zahl als Ergebnis aus
- to NFKC (Z10390): 文字列をUnicodeの正規化形式KCに変換する
- to NFD (Z10387): Note: due to API limitation, this should be used together with hex to string (Z10373).
- normalize Unicode (Z10384): Makes the Unicode normalization of the string. Note: due to API limitation, this should be used together with hex to string (Z10373).
- string inequality (Z10379): true if two text strings are not exactly equal
- compact JSON string (Z10357): Removes whitespace between JSON tokens for JSON strings
- replace all kind of whitespaces with a single U+0020 space (Z10313): no description
- Validate key (Z103): no description
- K combinator (Z10249): returns a function that returns the given value no matter what value it is passed with
- (!) lexeme form JSON has desired grammatical feature (Z10225): (!) approximation of mw.wikibase.lexeme.entity.form:hasGrammaticalFeature( itemId )
- get lexical category from Lexeme JSON (Z10222): approximates mw.wikibase.lexeme.entity.lexeme:getLexicalCategory
- Validate persistent object (Z102): no description
- replace Punjabi Shahmukhi arlam with original lam (Z10199): many times fonts cannot render the arlam character
- regular expression match (Z10196): Compare a string against a regular expression, return true for a match and false otherwise
- IDNA decode (Z10188): Decodes hostnames using the IDNA standard
- IDNA encode (Z10185): 入力された文字列を国際化ドメイン名(IDNA)に変換する
- Punycode decode (Z10181): no description
- Punycode encode (Z10178): no description
- Z10169
- Z10167
- pbkdf2_hmac (Z10157): no description
- scrypt (Z10156): no description
- SHA3-512 (Z10155): 入力された文字列のSHA3-512ハッシュ値を計算する
- SHA3-384 (Z10154): 入力された文字列のSHA3-384ハッシュ値を計算する
- SHA3-256 (Z10153): 入力された文字列のSHA3-256ハッシュ値を計算する
- SHA3-224 (Z10152): 入力された文字列のSHA3-224ハッシュ値を計算する
- SHAKE-256 (Z10151): no description
- SHAKE-128 (Z10150): no description
- SHA-224 (Z10149): 入力された文字列のSHA-224ハッシュ値を計算する
- BLAKE2s-256 (Z10147): no description
- BLAKE2s-224 (Z10146): no description
- BLAKE2s-160 (Z10145): no description
- BLAKE2s-128 (Z10144): no description
- BLAKE2b-512 (Z10143): no description
- BLAKE2b-384 (Z10142): no description
- BLAKE2b-256 (Z10141): no description
- BLAKE2b-160 (Z10140): no description
- RIPEMD-160 (Z10139): no description
- RIPEMD-128 (Z10138): no description
- MD5 (Z10137): calculate Message Digest 5 (MD5) hash for given string
- MD4 (Z10136): 入力された文字列のMD4ハッシュ値を計算する
- MD2 (Z10135): 入力された文字列のMD2ハッシュ値を計算する
- Sandbox-Function (Z10119): Sandbox object for function
- function return type (Z10112): returns the return type of a function
- string end padding (Z10108): Add string end padding
- Validate object (Z101): no description
- Remove trailing spaces (Z10095): Remove all trailing spaces in a string
- Z10093
- remove leading spaces (Z10084): Remove all leading spaces in a string
- Base64 Encode (Z10057): Encode a string into base64
- (!) get language item from Lexeme JSON (Z10041): (!) approximates mw.wikibase.lexeme.entity.lexeme:getLanguage
- Turkish syllabication (Z10033): Syllabication in Turkish according to the rules
- Turkish syllable counter (Z10029): μετρά τον αριθμό των συλλαβών σε μια τουρκική λέξη ή φράση
GrounderUK (talk) 14:28, 19 February 2024 (UTC)
Future updates of the Uncatalogued functions list
I expect to create a new version of this list in descending order based on the numeric component of each object’s key (its ZID). This will naturally result in the “Community functions” coming to the start of the list, with the most recent first. The “Validator functions” would all be grouped together at the bottom and the “Built-in functions after the Community functions and before the validators. Alternatives to this will be considered. GrounderUK (talk) 17:28, 22 February 2024 (UTC)
Also, should I put it here, in a sub-page or as a separate Wikifunctions page? (I’m not working on it at the moment but I’ll probably put it here again if no alternative is agreed by the time it’s ready.) --GrounderUK (talk) 00:35, 23 February 2024 (UTC)
Dividing the catalogue
@Theklan: These are too small to be their own subpages. Please move them back. Feeglgeef (talk) 18:31, 6 November 2024 (UTC)
- The catalogue is supposed to be a monolithic and at-a-glance directory. Subpages are counterproductive and unhelpful. Feeglgeef (talk) 18:32, 6 November 2024 (UTC)
- Well, not if we are going to have functions for all languages. Making it pretty and organized helps navigating. Theklan (talk) 18:33, 6 November 2024 (UTC)
- I'm ok with natural language operations being their own page. What I'm not ok with are these pages with only a few items. They add more unnecessary clicks. I'm ok with you keeping the new pages you created, but please revert your edits on the main catalogue page. Feeglgeef (talk) 18:35, 6 November 2024 (UTC)
- Also, I'm planning to edit the catalogue page to make it more visual, with a gallery and so on. Trust me, it will be nice! Theklan (talk) 18:35, 6 November 2024 (UTC)
- Alright. Feeglgeef (talk) 18:37, 6 November 2024 (UTC)
- However, I understand your point for some being too small. Especially, "Programming" and the two about objects seem really short. Theklan (talk) 18:39, 6 November 2024 (UTC)
- I have added a SVG translatable logo. It can be translated using SVG Translate. Let me know if this is a better solution than the growing list. Theklan (talk) 19:13, 6 November 2024 (UTC)
- The icons are nice, but unreadable in dark-mode. Could the circles be outlined or backgrounded in a light colour, along the lines of commons:GNOME High contrast icons? Arlo Barnes (talk) 02:49, 8 November 2024 (UTC)
- I'm not such a fan of the icons in the first place. If they were all different to one another, that would give a visual cue as to which one to click, but at the moment they're all the same, just with the text repeated in an image. 99of9 (talk) 03:23, 8 November 2024 (UTC)
- @Theklan: can you please do this? Feeglgeef (talk) 04:32, 8 November 2024 (UTC)
- Specifically I'd prefer if we used colored icons. Feeglgeef (talk) 04:32, 8 November 2024 (UTC)
- We could imagine symbols and colors for some of them, but the amount of colors needed could make it a little bit baroque. Theklan (talk) 06:54, 8 November 2024 (UTC)
- I disagree. 16 is completely reasonable. Here is one I made:
- Deep Blue: #001F3F
- Sky Blue: #39CCCC
- Muted Green: #77B300
- Bright Green: #01FF70
- Golden Yellow: #FFDC00
- Muted Orange: #FF851B
- Deep Red: #B03060
- Light Pink: #F012BE
- Purple: #8E44AD
- Lavender: #B10DC9
- Brown: #A0522D
- Beige: #FFFAF0
- Light Gray: #D3D3D3
- Medium Gray: #858585
- Charcoal Gray: #333333
- Off-White: #F8F8FF
- Feel free to use it or something like this :) Feeglgeef (talk) 06:58, 8 November 2024 (UTC)
- The problem with that is that there's a color guide: Codex Color Guide -Theklan (talk) 07:20, 8 November 2024 (UTC)
- So? Ignore it. Feeglgeef (talk) 07:25, 8 November 2024 (UTC)
- The color guide isn't really relevant here. I think you are misinterpreting it. How I'm perceiving the color guide is a way to standardize color messaging. This is not needed here, as these are just colors for the sake of coloring, not to get messages across. Feeglgeef (talk) 07:30, 8 November 2024 (UTC)
- There are some color rules for Wikimedia projects, as you can see in the colored logo of Wikifunctions. Theklan (talk) 07:40, 8 November 2024 (UTC)
- The color guide doesn't say these are rules? Feeglgeef (talk) 07:47, 8 November 2024 (UTC)
- "To maintain a scalable and consistent visual system for user-interface (UI) development in a single source of truth instead of hard-coded style values or single-use variables" These do not appear to be rules, rather strong recommendations. I say we throw these out. Our idea is inherently single use. Using the colors would be very counterproductive, given standard meaning across Wikimedia projects. Feeglgeef (talk) 07:52, 8 November 2024 (UTC)
- There are some color rules for Wikimedia projects, as you can see in the colored logo of Wikifunctions. Theklan (talk) 07:40, 8 November 2024 (UTC)
- The problem with that is that there's a color guide: Codex Color Guide -Theklan (talk) 07:20, 8 November 2024 (UTC)
- I have added a symbol for the logic operators and a color. Before continuing and changing everything, I would like to know if this makes more sense. Theklan (talk) 07:21, 8 November 2024 (UTC)
- The symbol is a Boolean algebra symbol? Why is it under logic operations??? Feeglgeef (talk) 07:34, 8 November 2024 (UTC)
- What would a good symbol representing "logic operations" be? Remember that we must find something that feels universal. Theklan (talk) 07:39, 8 November 2024 (UTC)
- A diamond or an arrow? Feeglgeef (talk) 07:46, 8 November 2024 (UTC)
- What would a good symbol representing "logic operations" be? Remember that we must find something that feels universal. Theklan (talk) 07:39, 8 November 2024 (UTC)
- Yes, this is a big improvement, thanks. That one would go particularly well with "Boolean operations". The category currently called "logic operations" could also be called "control statements". I'd suggest some kind of branching structure. 99of9 (talk) 07:44, 8 November 2024 (UTC)
- I'd go with an arrow (flow, control) or diamond (flow charts) Feeglgeef (talk) 07:48, 8 November 2024 (UTC)
- That kind of divisions is out of my knowledge. I can help with the logos and overall image. Theklan (talk) 07:49, 8 November 2024 (UTC)
- I have added the first three changes. It will take a while till I can make everyting, as making a different logo is more demanding. The code needs to be cleaned every time... well, not as easy as just changing the text. I can't see the three first logos with their color in the main page, there may be a cache issue with that. Theklan (talk) 09:00, 8 November 2024 (UTC)
- The symbol is a Boolean algebra symbol? Why is it under logic operations??? Feeglgeef (talk) 07:34, 8 November 2024 (UTC)
- @Theklan: can you please do this? Feeglgeef (talk) 04:32, 8 November 2024 (UTC)
- I have made some changes with stroke for dark mode. I would prefer if css variants could be added to the svg itself, but I haven't been able to do that. So let be a stroke. Theklan (talk) 08:16, 8 November 2024 (UTC)
- I have undone the stroke thing, because it seems that stroking makes impossible to translate the texts using SVGtranslate. Theklan (talk) 08:27, 8 November 2024 (UTC)
- I'm not such a fan of the icons in the first place. If they were all different to one another, that would give a visual cue as to which one to click, but at the moment they're all the same, just with the text repeated in an image. 99of9 (talk) 03:23, 8 November 2024 (UTC)
- The icons are nice, but unreadable in dark-mode. Could the circles be outlined or backgrounded in a light colour, along the lines of commons:GNOME High contrast icons? Arlo Barnes (talk) 02:49, 8 November 2024 (UTC)
- I'm ok with you changing it, just don't make it too difficult to navigate. Feeglgeef (talk) 18:39, 6 November 2024 (UTC)
- The problem I see is that now is very difficult to navigate, as you have to go down a growingly long list. I'm planning to add a large table (like the Breton one) for Basque, and this is very distracting for people not interested on that. The actual byte lenght is small, but the vertical scrolling size of the page makes it complex to load. I also have some doubts on the template expansion limit. Theklan (talk) 18:40, 6 November 2024 (UTC)
- I'd recommend you follow the ideas of wf:broad. Feeglgeef (talk) 18:43, 6 November 2024 (UTC)
- The problem is that every language is different, and making broad things is not always the most convenient solution. Theklan (talk) 19:12, 6 November 2024 (UTC)
- I agree that every language is different. What I am very much apposed to is you having tens of functions to just add something to a string. This should not happen. Instead, group some of them together to easily differentiate. Feeglgeef (talk) 19:26, 6 November 2024 (UTC)
- The problem is that every language is different, and making broad things is not always the most convenient solution. Theklan (talk) 19:12, 6 November 2024 (UTC)
- I'd recommend you follow the ideas of wf:broad. Feeglgeef (talk) 18:43, 6 November 2024 (UTC)
- The problem I see is that now is very difficult to navigate, as you have to go down a growingly long list. I'm planning to add a large table (like the Breton one) for Basque, and this is very distracting for people not interested on that. The actual byte lenght is small, but the vertical scrolling size of the page makes it complex to load. I also have some doubts on the template expansion limit. Theklan (talk) 18:40, 6 November 2024 (UTC)
- Alright. Feeglgeef (talk) 18:37, 6 November 2024 (UTC)
The catalogue is supposed to be a monolithic and at-a-glance directory
- No, it's not, it's meant to be a "best of" highlights page to help people be inspired and find a first function. A bunch of sub-pages doesn't meet that, but neither does a complete index. Jdforrester (WMF) (talk) 19:44, 7 November 2024 (UTC)
- I was misinterpreting what he was trying to do, please ignore. Feeglgeef (talk) 19:53, 7 November 2024 (UTC)
- Well, not if we are going to have functions for all languages. Making it pretty and organized helps navigating. Theklan (talk) 18:33, 6 November 2024 (UTC)