Difference between revisions of "User:Kebap"

From Mudlet
Jump to navigation Jump to search
(→‎Projects: display Mudlet version picture thumbnail)
 
(12 intermediate revisions by the same user not shown)
Line 6: Line 6:
 
= Projects =
 
= Projects =
  
* [[User:Kebap/documentation-in-wiki]]
+
* [[User:Kebap/documentation-in-wiki]] - currently on hold
** currently on hold
+
** Standardize layout of [[Manual:Lua_Functions]] in [[Area 51]]
 +
 
 
* [[User:Kebap/translation infrastructure|Establish translation-infrastructure for Mudlet universe]]
 
* [[User:Kebap/translation infrastructure|Establish translation-infrastructure for Mudlet universe]]
 
** Create PR to clean up feedback from Crowdin - see [https://github.com/Mudlet/Mudlet/issues/1802 issue 1802]  
 
** Create PR to clean up feedback from Crowdin - see [https://github.com/Mudlet/Mudlet/issues/1802 issue 1802]  
Line 14: Line 15:
 
** Improve documentation for developers
 
** Improve documentation for developers
 
*** How to handle special characters at start or end of translateable text
 
*** How to handle special characters at start or end of translateable text
 +
 
* Learn how to write working i18n style code for English hacks like "next %n time(s)"
 
* Learn how to write working i18n style code for English hacks like "next %n time(s)"
 
** QT documentation thereof: http://doc.qt.io/qt-5/i18n-source-translation.html#handling-plurals
 
** QT documentation thereof: http://doc.qt.io/qt-5/i18n-source-translation.html#handling-plurals
 +
 
* [[User:Kebap/Manual|New structure for wiki manual]]
 
* [[User:Kebap/Manual|New structure for wiki manual]]
 +
 
* Graphical overview of [[User:Kebap/Release dates|Release dates]]
 
* Graphical overview of [[User:Kebap/Release dates|Release dates]]
 +
[[File:Release_dates.png|thumb]]
 +
 
* Add MorgenGrauen to Mudlet MUDs
 
* Add MorgenGrauen to Mudlet MUDs
 
** review recommendations from [[Listing_Your_MUD]]
 
** review recommendations from [[Listing_Your_MUD]]
* Enable Discord group "Testers" to (de-)register themselves via Discord reactions
+
 
 +
* <strike>Enable Discord group "Testers" to (de-)register themselves via Discord reactions</strike> done! :)
 +
 
 
* Create PR to clean up texts in source - see [https://github.com/Mudlet/Mudlet/issues/1801 github issue 1801]  
 
* Create PR to clean up texts in source - see [https://github.com/Mudlet/Mudlet/issues/1801 github issue 1801]  
* Learn how to make small PR like above with Smart Git instead of github web interface
 
  
= Examples for Wiki formatting =
+
* <strike>Learn how to make small PR like above with Smart Git instead of github web interface</strike> done! :)
 +
[[File:Commits201809.png|thumb|Me with a few buddies]]
 +
 
 +
* Improve Mudlet documentation, which is not interesting for Mudlet users, but only for (some) developers.
 +
** Including definitions on internal functions,
 +
** discussions and decisions on coding style conventions,
 +
** standard procedures like [[Release Checklist]], [[update lua function list]] for autocompletion,
 +
** This is done by adding Categories like "Mudlet Developer Manual" or "Mudlet Admin Manual"
 +
** etc.
 +
 
 +
* Look into improving a11y (accessibility) of Mudlet [https://github.com/Mudlet/Mudlet/issues?q=is%3Aopen+is%3Aissue+label%3Aa11y client] and [https://www.w3.org/TR/WCAG20/ website], etc.
 +
 
 +
* Learn more [[User:Kebap/git commands|git commands]]
 +
 
 +
= Examples for formatting =
  
==functionName==
+
== API documentation ==
;functionName(arg1, arg2, [optionalArg3])
 
: What the function does. In this case, it is just a non-existing function with the only purpose to show, how to write documentation for functions
 
: Returns whatever the function returns.
 
  
See also:
+
Examples and description moved to [[Area 51]] plus template linked from there
[[Manual:Lua_Functions#paste|paste]],
 
[[Manual:Lua_Functions#paste|paste]]
 
  
{{note}} Available since Mudlet 3.5
+
== Standardized error messages in code ==
  
;Parameters
+
Old style, not very informative:
* arg1:
+
<syntaxhighlight lang="cpp">
: What arg1 is/does. Passed as a string.
+
    if (!lua_isnumber(L, 1)) {
* arg2:
+
        lua_pushstring(L, "createMapLabel: wrong argument type");
: What arg2 is/does. Passed as a string.
+
        return lua_error(L);
* ''optionalArg3''
+
    }
: (optional) The name needn't be telling. Relevant is to mark optional arguments at the start of this line (with text "optional" in brackets) and in the function definition line (with [these] brackets)
+
    int area = lua_isnumber(L, 1);
 +
</syntaxhighlight>
  
;Example
+
New style with additional information:
<syntaxhighlight lang="lua">
+
<syntaxhighlight lang="cpp">
--a small example snippet of the function in action
+
    if (!lua_isnumber(L, 1)) {
--the comments up top should introduce it/explain what the snippet does
+
        lua_pushfstring(L,
functionName("arg1", "arg2")
+
                "createMapLabel: bad argument #1 type (areaID as number expected, got %s!)",
 +
                luaL_typename(L, 1));
 +
        return lua_error(L);
 +
    }
 +
    int area = lua_tointeger(L, 1);
 
</syntaxhighlight>
 
</syntaxhighlight>

Latest revision as of 23:03, 15 November 2022

About me

Mudlet user and script developer, hailing from MorgenGrauen (German).

Projects

Release dates.png
  • Enable Discord group "Testers" to (de-)register themselves via Discord reactions done! :)
  • Learn how to make small PR like above with Smart Git instead of github web interface done! :)
Me with a few buddies
  • Improve Mudlet documentation, which is not interesting for Mudlet users, but only for (some) developers.
    • Including definitions on internal functions,
    • discussions and decisions on coding style conventions,
    • standard procedures like Release Checklist, update lua function list for autocompletion,
    • This is done by adding Categories like "Mudlet Developer Manual" or "Mudlet Admin Manual"
    • etc.
  • Look into improving a11y (accessibility) of Mudlet client and website, etc.

Examples for formatting

API documentation

Examples and description moved to Area 51 plus template linked from there

Standardized error messages in code

Old style, not very informative:

    if (!lua_isnumber(L, 1)) {
        lua_pushstring(L, "createMapLabel: wrong argument type");
        return lua_error(L);
    }
    int area = lua_isnumber(L, 1);

New style with additional information:

    if (!lua_isnumber(L, 1)) {
        lua_pushfstring(L,
                "createMapLabel: bad argument #1 type (areaID as number expected, got %s!)",
                luaL_typename(L, 1));
        return lua_error(L);
    }
    int area = lua_tointeger(L, 1);