Wikipedia madwiki https://mad.wikipedia.org/wiki/Tan%C3%A8yan MediaWiki 1.48.0-wmf.3 first-letter Mèḍia Spesial Pakanḍhâ'ân Pangangghuy Pakanḍhâ'ânna pangangghuy Wikipèḍia Pakanḍhâ'ânna Wikipèḍia Bhengkek Pakanḍhâ'ânna bhengkek MèḍiaWiki Pakanḍhâ'ânna MèḍiaWiki Cèṭa'an Pakanḍhâ'ânna cèṭa'an Bhântowan Pakanḍhâ'ânna bhântowan Bhângsa Pakanḍhâ'ânna bhângsa TimedText TimedText talk Modul Pembicaraan Modul Acara Pembicaraan Acara Modul:Params 828 3367 67805 67241 2026-11-08T21:10:10Z Grufo 5223 Update from [[d:Special:GoToLinkedPage/mediawikiwiki/Q122696746|master]] using [[mw:Synchronizer| #Synchronizer]] 67805 Scribunto text/plain require[[strict]] --- --- --- PRIVATE ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Abstract utilities ]]-- ---------------------------- -- Helper function for `string.gsub()` (for managing zero-padded numbers) local function zero_padded (str) return ('%03d%s'):format(#str, str) end -- Helper function for `table.sort()` (for natural sorting) local function natural_sort (var1, var2) return var1:gsub('%d+', zero_padded) < var2:gsub('%d+', zero_padded) end -- Return a copy or a reference to a table local function copy_or_ref_table (src, refonly) if refonly then return src end local newtab = {} for key, val in pairs(src) do newtab[key] = val end return newtab end -- Copy at most N items (of all kinds) from `src` to `dest` and return `dest` local function copy_table_maxn (dest, src, len) local idx = 1 for key, val in pairs(src) do dest[key], idx = val, idx + 1 if idx > len then break end end return dest end -- Remove some numeric elements from a table, shifting everything to the left local function remove_numeric_keys (tbl, idx, len) local cache, tmp = {}, idx + len - 1 for key, val in pairs(tbl) do if type(key) == 'number' and key >= idx then if key > tmp then cache[key - len] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end -- Make a reduced copy of a table (shifting in both directions if necessary) local function copy_table_reduced (tbl, idx, len) local ret, tmp = {}, idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val elseif key > tmp then ret[key - len] = val end end elseif tmp > 0 then local nshift = 1 - idx for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > tmp then ret[key - tmp] = val elseif key < idx then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val elseif key < idx then ret[key + len] = val end end end return ret end -- Make an expanded copy of a table (shifting in both directions if necessary) local function copy_table_expanded (tbl, idx, len) local ret, tmp = {}, idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val else ret[key + len] = val end end elseif tmp > 0 then local nshift = idx - 1 for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > 0 then ret[key + tmp] = val elseif key < 1 then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val else ret[key - len] = val end end end return ret end -- Given a table, create two new tables containing the sorted list of keys local function get_sorted_key_list (tbl, sort_fn) local nums, words, nn, nw = {}, {}, 1, 1 for key, val in pairs(tbl) do if type(key) == 'number' then nums[nn], nn = key, nn + 1 else words[nw], nw = key, nw + 1 end end table.sort(nums) table.sort(words, sort_fn) return nums, words, nn - 1, nw - 1 end -- Parse a parameter name string and return it as a string or a number local function get_param_name (par_str) local ret = par_str:match'^%s*(.-)%s*$' if ret ~= '0' and ret:find'^%-?[1-9]%d*$' == nil then return ret end return tonumber(ret) end -- Move a key from a table to another, but only if under a different name and -- always parsing numeric strings as numbers local function steal_if_renamed (val, src, skey, dest, dkey) local realkey = get_param_name(dkey) if skey ~= realkey then dest[realkey], src[skey] = val, nil end end --[[ Public strings ]]-- ------------------------ -- Special match keywords (functions and modifiers MUST avoid these names) local mkeywords = { ['or'] = 0, pattern = 1, plain = 2, strict = 3 } -- Sort functions (functions and modifiers MUST avoid these names) local sortfunctions = { alphabetically = false, naturally = natural_sort } -- Callback styles for the `mapping_*` and `renaming_*` class of modifiers -- (functions and modifiers MUST avoid these names) --[[ Meanings of the columns: col[1] = Loop type (0-3) col[2] = Number of module arguments that the style requires (1-3) col[3] = Minimum number of sequential parameters passed to the callback col[4] = Name of the callback parameter where to place each parameter name col[5] = Name of the callback parameter where to place each parameter value col[6] = Argument in the modifier's invocation that will override `col[4]` col[7] = Argument in the modifier's invocation that will override `col[5]` A value of `-1` indicates that no meaningful value is stored (i.e. `nil`) ]]-- local mapping_styles = { names_and_values = { 3, 2, 2, 1, 2, -1, -1 }, values_and_names = { 3, 2, 2, 2, 1, -1, -1 }, values_only = { 1, 2, 1, -1, 1, -1, -1 }, names_only = { 2, 2, 1, 1, -1, -1, -1 }, names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 }, names_only_as = { 2, 3, 0, -1, -1, 2, -1 }, values_only_as = { 1, 3, 0, -1, -1, -1, 2 }, blindly = { 0, 2, 0, -1, -1, -1, -1 } } -- Memory slots (functions and modifiers MUST avoid these names) local memoryslots = { h = 'header', f = 'footer', i = 'itersep', l = 'lastsep', n = 'ifngiven', p = 'pairsep', s = 'oxfordsep' } -- Possible trimming modes for the `parsing` modifier local trim_parse_opts = { trim_none = { false, false }, trim_positional = { false, true }, trim_named = { true, false }, trim_all = { true, true } } -- Possible string modes for the iteration separator in the `parsing` and -- `reinterpreting` modifiers local isep_parse_opts = { splitter_pattern = false, splitter_string = true } -- Possible string modes for the key-value separator in the `parsing` and -- `reinterpreting` modifiers local psep_parse_opts = { setter_pattern = false, setter_string = true } -- Possible position references for the `splicing` modifier local position_references = { add_nothing = 0, add_smallest_number = 1, add_last_of_sequence = 2, add_largest_number = 3 } -- Possible modes for the `reassigning` modifier local a_modes = { transfer = 0, clone = 1, rename = 2, copy = 3, sacrifice = 4, provide = 5, spare = 7 } -- Functions and modifiers MUST avoid these names too: `here`, `in_substack`, -- `let`, `expose`, `use`, `with_flushed_glue`, `without_flushed_glue` -- `without_sorting` --[[ Private constants ]]-- --------------------------- -- Hard-coded name of the module (to avoid going through `frame:getTitle()`) local modulename = 'Module:Params' -- The functions listed here declare that they don't need the -- `frame:getParent().args` metatable to be copied into a regular table; if -- they are modifiers they also guarantee that they will make their own -- (modified) copy available local refparams = { call_for_each_group = true, combining = true, combining_by_calling = true, combining_values = true, concat_and_call = true, concat_and_invoke = true, concat_and_magic = true, count = true, grouping_by_calling = true, mixing_names_and_values = true, keeping_at_most = true, renaming_by_mixing = true, renaming_to_sequence = true, renaming_to_uppercase = true, renaming_to_lowercase = true, shifting = true, splicing = true, value_of = true, with_name_matching = true } -- Maximum number of numeric parameters that can be filled, if missing (we -- chose an arbitrary number for this constant; you can discuss about its -- optimal value at Module talk:Params) local maxfill = 1024 -- The private table of functions local library = {} -- Functions and modifiers that can only be invoked in first position local static_iface = {} --[[ Private functions ]]-- --------------------------- -- Create a new context local function context_new (child_frame, first_fn_name) local main_frame, tpipe = child_frame:getParent(), { first_fn_name } for key, val in pairs(child_frame.args) do if type(key) == 'number' and key > 0 then tpipe[key + 1] = val else tpipe[key] = val end end return { frame = main_frame, pipe = tpipe, oparams = main_frame.args, firstposonly = static_iface, iterfunc = pairs, fnpos = 1, sorttype = 0, n_parents = 0, n_children = 0, n_available = maxfill } end -- Move to the next action within the user-given list local function context_iterate (ctx, next_fn_pos, trimmed_fname) local fname = trimmed_fname or ctx.pipe[next_fn_pos] and ctx.pipe[next_fn_pos]:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end if library[fname] == nil then if ctx.firstposonly[fname] == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) else error(modulename .. ': The ‘' .. fname .. '’ directive can only appear in first position', 0) end end ctx.fnpos = next_fn_pos return library[fname] end -- Main loop local function main_loop (ctx, start_with) local fn = start_with repeat fn = fn(ctx) until not fn if ctx.n_parents > 0 then error(modulename .. ': One or more ‘merging_substack’ directives are missing', 0) end if ctx.n_children > 0 then error(modulename .. ', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end end -- Load a `setting`-like directive string into the `dest` table local function set_strings_from_opts (dest, opts, offs) local cmd if opts[offs] == nil then return offs - 1 end cmd = opts[offs]:gsub('%s+', ''):gsub('/+', '/'):match'^/*(.*[^/])' if cmd == nil then return offs end local vname, chr local amap, sep, argc = {}, string.byte('/'), offs + 1 for idx = 1, #cmd do chr = cmd:byte(idx) if chr == sep then for key, val in ipairs(amap) do dest[val], amap[key] = opts[argc], nil end argc = argc + 1 else vname = memoryslots[string.char(chr)] if vname == nil then error(modulename .. ', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end table.insert(amap, vname) end end for key, val in ipairs(amap) do dest[val] = opts[argc] end return argc end -- Add a new stack of parameters to `ctx.children` local function new_substack (ctx) local currsnap, newparams = ctx.n_children + 1, {} if ctx.children == nil then ctx.children = { newparams } else ctx.children[currsnap] = newparams end ctx.n_children = currsnap return newparams end -- Parse a raw argument containing a `sortfunctions` directive, or -- `'without_sorting'`, or `nil` local function load_sort_opt (raw_arg) local trarg if raw_arg ~= nil then trarg = raw_arg:match'^%s*(.*%S)' end if trarg == nil then return nil, 1, false, nil end if trarg == 'without_sorting' then return nil, 2, false, nil end local tmp = sortfunctions[trarg] if tmp == nil then return nil, 1, false, trarg end return tmp or nil, 2, true, nil end -- Parse optional user arguments of type `...|[let/use]|[...]|[let/use]|[...]| -- [number of additional parameters]|[parameter 1]|[parameter 2]|[...]` local function load_child_opts (src, start_from, append_after, params) local tnamed, tmp1, tmp2 local pin, tbl, mem = start_from, {}, {} while src[pin] ~= nil and src[pin + 1] ~= nil do tmp1 = src[pin]:match'^%s*(.*%S)' if tmp1 == 'let' and src[pin + 2] ~= nil then tmp1 = get_param_name(src[pin + 1]) tbl[tmp1], pin = src[pin + 2], pin + 3 --[[ elseif tmp1 == 'expose' then tmp1 = get_param_name(src[pin + 1]) tmp2 = params[tmp1] mem[tmp1], tbl[tmp1], pin = tmp2, tmp2, pin + 2 ]]-- elseif tmp1 == 'use' and src[pin + 2] ~= nil then tmp1 = get_param_name(src[pin + 2]) tmp2 = params[tmp1] mem[tmp1], tbl[get_param_name(src[pin + 1])], pin = tmp2, tmp2, pin + 3 else break end end local tnew = copy_or_ref_table(params, next(mem) == nil) for key in pairs(mem) do tnew[key] = nil end if pin ~= start_from then tnamed, tbl = tbl, {} end tmp1 = tonumber(src[pin]) if tmp1 ~= nil and math.floor(tmp1) == tmp1 then if tmp1 < 0 then tmp1 = -1 end tmp2 = append_after - pin for idx = pin + 1, pin + tmp1 do tbl[idx + tmp2] = src[idx] end pin = pin + tmp1 + 1 end if tnamed ~= nil then for key, val in pairs(tnamed) do tbl[key] = val end end return tbl, pin, tnew, mem end -- Load the optional arguments of some of the `mapping_*` and `renaming_*` -- class of modifiers local function load_callback_opts (src, start_from, default_style, params) local style, shf local tmp = src[start_from + 1] if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end if style == nil then style, shf = default_style, start_from - 1 else shf = start_from end local n_exist, karg, varg = style[3], style[4], style[5] tmp = style[6] if tmp > -1 then karg = src[tmp + shf]:match'^%s*(.-)%s*$' if karg == '0' or karg:find'^%-?[1-9]%d*$' ~= nil then karg = tonumber(karg) n_exist = math.max(n_exist, karg) end end tmp = style[7] if tmp > -1 then varg = src[tmp + shf]:match'^%s*(.-)%s*$' if varg == '0' or varg:find'^%-?[1-9]%d*$' ~= nil then varg = tonumber(varg) n_exist = math.max(n_exist, varg) end end tmp = style[1] local dest, argc, tnew, mem = load_child_opts(src, style[2] + shf, n_exist, params) if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then tmp = tmp - 2 end if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then tmp = tmp - 1 end return dest, argc, tmp, karg, varg, tnew, mem end -- Parse the arguments of some of the `mapping_*` and `renaming_*` class of -- modifiers local function load_replace_args (opts, offs, whoami) if opts[offs + 1] == nil then error(modulename .. ', ‘' .. whoami .. '’: No pattern string was given', 0) end if opts[offs + 2] == nil then error(modulename .. ', ‘' .. whoami .. '’: No replacement string was given', 0) end local tn, flg local ptn, repl, nmax, argc = opts[offs + 1], opts[offs + 2], tonumber(opts[offs + 3]), 3 if nmax ~= nil then argc = 4 elseif opts[offs + 3] ~= nil then tn = opts[offs + 3]:match'^%s*(.*%S)' if tn == nil then argc = 4 end end if tn == nil and opts[offs + argc] ~= nil then tn = opts[offs + argc]:match'^%s*(.*%S)' end if tn ~= nil then flg = mkeywords[tn] if flg ~= nil then tn = nil end end if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end return ptn, repl, nmax, flg, offs + argc, (nmax ~= nil and nmax < 1) or (flg == 3 and ptn == repl), tn end -- Parse the arguments of the `with_*_matching` class of modifiers local function load_pattern_args (opts, offs, whoami) local tn, kwid local ptns, arg, state, nptns, idx = {}, opts[offs + 1], 0, 0, offs + 2 while arg ~= nil do if state == 0 then nptns, state = nptns + 1, -1 ptns[nptns] = { arg, false, false } else tn = arg:match'^%s*(.*%S)' kwid = tn and mkeywords[tn] if kwid == nil or (state > 0 and kwid > 0) then break else state = kwid if state > 1 then ptns[nptns][2] = true end if state == 3 then ptns[nptns][3] = true end end end arg, idx = opts[idx], idx + 1 end if state == 0 then error(modulename .. ', ‘' .. whoami .. '’: No pattern was given', 0) end return ptns, nptns, idx - 1, kwid == nil and tn or nil end -- Load the optional arguments of the `parsing`, `reinterpreting` and -- `evaluating` modifiers local function load_parse_opts (opts, offs, isp, psp) local tn, tmp local optslots, noptslots, argc, trimn, trimu, iplain, pplain = { true, true, true }, 3, offs, true, false, true, true repeat noptslots, tmp = noptslots - 1, opts[argc] tn = tmp and tmp:match'^%s*(.*%S)' if tn == nil then break end if optslots[1] ~= nil and trim_parse_opts[tn] ~= nil then tmp = trim_parse_opts[tn] trimn, trimu, optslots[1] = tmp[1], tmp[2], nil elseif optslots[2] ~= nil and isep_parse_opts[tn] ~= nil then argc = argc + 1 iplain, isp, optslots[2] = isep_parse_opts[tn], opts[argc], nil elseif optslots[3] ~= nil and psep_parse_opts[tn] ~= nil then argc = argc + 1 pplain, psp, optslots[3] = psep_parse_opts[tn], opts[argc], nil else break end argc, tn = argc + 1, nil until noptslots < 1 return isp, iplain, psp, pplain, trimn, trimu, argc, tn end -- Map parameters' values using a custom callback and a referenced table local value_maps = { [0] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do tbl[key] = fn() end end, [1] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[varg] = val tbl[key] = fn() end end, [2] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do margs[karg] = key tbl[key] = fn() end end, [3] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[karg], margs[varg] = key, val tbl[key] = fn() end end } -- Private table for `map_names()` local name_thieves = { [0] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, fn()) end end, [1] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end, [2] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key steal_if_renamed(val, tbl, key, cache, fn()) end end, [3] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg], rargs[varg] = key, val steal_if_renamed(val, tbl, key, cache, fn()) end end } -- Map parameters' names using a custom callback and a referenced table local function map_names (tbl, rargs, karg, varg, looptype, fn) local cache = {} name_thieves[looptype](cache, tbl, rargs, karg, varg, fn) for key, val in pairs(cache) do tbl[key] = val end end -- Return a new table that contains `src` regrouped according to the numeric -- suffixes in its keys local function make_groups (src) -- NOTE: `src` might be the original metatable! local prefix, gid local groups = {} for key, val in pairs(src) do -- `key` must only be a string or a number... if type(key) == 'string' then prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$' gid = tonumber(gid) or '' else prefix, gid = '', key end if groups[gid] == nil then groups[gid] = {} end if prefix == '0' or prefix:find'^%-?[1-9]%d*$' ~= nil then prefix = tonumber(prefix) if prefix < 1 then prefix = prefix - 1 end end groups[gid][prefix] = val end return groups end -- Split into parts a string containing the `$#` and `$@` placeholders and -- return the information as a skeleton table, a canvas table and a length local function parse_placeholder_string (target) local skel, canvas, idx, s_pos, e_pos = {}, {}, 1, 1, string.find(target, '%$[@#]', 1, false) while e_pos ~= nil do canvas[idx], skel[idx + 1] = target:sub(s_pos, e_pos - 1), target:sub(e_pos, e_pos + 1) == '$@' idx, s_pos = idx + 2, e_pos + 2 e_pos = string.find(target, '%$[@#]', s_pos, false) end if (s_pos > target:len()) then idx = idx - 1 else canvas[idx] = target:sub(s_pos) end return skel, canvas, idx end -- Populate a table by parsing a parameter string (heavy lifting for `parsing`, -- `reinterpreting` and `evaluating`) local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru) local key, val, spos1, spos2, pos1, pos2 local pos3, idx, lenplone = 0, 1, #str + 1 if isp == nil or isp == '' then if psp == nil or psp == '' then if tru then tbl[idx] = str:match'^%s*(.-)%s*$' else tbl[idx] = str end return end spos1, spos2 = str:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = str:match'^%s*(.-)%s*$' else val = str end else key = get_param_name(str:sub(1, spos1 - 1)) val = str:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val return end if psp == nil or psp == '' then repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) if tru then val = val:match'^%s*(.-)%s*$' end tbl[idx], idx = val, idx + 1 until pos2 == nil return end repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) spos1, spos2 = val:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = val:match'^%s*(.-)%s*$' end idx = idx + 1 else key = get_param_name(val:sub(1, spos1 - 1)) val = val:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val until pos2 == nil return end -- Heavy lifting for `snapshotting` and `remembering` local function make_child (ctx, src, whoami) local len = tonumber(ctx.pipe[ctx.fnpos + 1]) if len == nil or len == 0 then local stack = new_substack(ctx) for key, val in pairs(src) do stack[key] = val end return len == nil and 1 or 2 end if len < 0 or math.floor(len) ~= len then error(modulename .. ', ‘' .. whoami .. '’: The number of parameters to copy must be an integer greater than zero', 0) end copy_table_maxn(new_substack(ctx), src, len) return 2 end -- Heavy lifting for `setting_by_flushing`, `combining` and `combining_values` local function set_strings_from_substack (ctx, dest, whoami) if ctx.n_children < 1 then error(modulename .. ', ‘' .. whoami .. '’: There are no substacks to flush', 0) end local currsnap = ctx.n_children local stack = ctx.children[currsnap] for key, val in pairs(memoryslots) do if stack[key] ~= nil then dest[val] = stack[key] end end ctx.children[currsnap], ctx.n_children = nil, currsnap - 1 end -- Heavy lifting for `combining` and `combining_values` local function combine_parameters (ctx, keyval_fn, whoami) -- NOTE: `ctx.params` might be the original metatable! This function -- MUST create a copy of it before returning local opts, offs = ctx.pipe, ctx.fnpos if opts[offs + 1] == nil then error(modulename .. ', ‘' .. whoami .. '’: No parameter name was provided', 0) end local argc local tbl, vars = ctx.params, {} local sortfn, ivar0, dosort, tmp = load_sort_opt(opts[offs + 2]) if ivar0 == 2 then tmp = opts[offs + 3] ~= nil and opts[offs + 3]:match'^%s*(.*%S)' end ivar0 = ivar0 + offs if tmp == 'with_flushed_glue' then ivar0 = ivar0 + 1 argc = set_strings_from_opts(vars, opts, ivar0 + 1) set_strings_from_substack(ctx, vars, whoami) else if tmp == 'without_flushed_glue' then ivar0 = ivar0 + 1 end argc = set_strings_from_opts(vars, opts, ivar0 + 1) end if argc < ivar0 then error(modulename .. ', ‘' .. whoami .. '’: No setting directive was given', 0) end if next(tbl) == nil then if vars.ifngiven ~= nil then ctx.params = { [get_param_name(opts[offs + 1])] = vars.ifngiven } elseif tbl == ctx.oparams then ctx.params = {} end return argc + 1 end local cache, len if dosort then local words cache, words, len, tmp = get_sorted_key_list(tbl, sortfn) for idx = 1, tmp do cache[len + idx] = words[idx] end len = len + tmp else cache, len = {}, 1 for key in pairs(tbl) do cache[len], len = key, len + 1 end len = len - 1 end local pmap, nss, kvs, pps = {}, 0, vars.pairsep or '', vars.itersep or '' for idx = 1, len do tmp, pmap[nss + 1] = cache[idx], pps pmap[nss + 2] = keyval_fn(tmp, tbl[tmp], kvs) nss = nss + 2 end tmp = vars.oxfordsep or vars.lastsep if tmp ~= nil and nss > 4 then pmap[nss - 1] = tmp elseif nss > 2 and vars.lastsep ~= nil then pmap[nss - 1] = vars.lastsep end pmap[1] = vars.header or '' if vars.footer ~= nil then pmap[nss + 1] = vars.footer end ctx.params = { [get_param_name(opts[offs + 1])] = table.concat(pmap) } return argc + 1 end -- Concatenate the numeric keys from the table of parameters to the numeric -- keys from the table of options; non-numeric keys from the table of options -- will prevail over colliding non-numeric keys from the table of parameters local function concat_params (ctx, offs) local tbl, retval, cache, nmax = ctx.params, {}, {}, 0 for key, val in pairs(ctx.pipe) do if type(key) == 'number' then if key < 1 then cache[key] = val elseif key > offs then cache[key - offs] = val end if key > nmax then nmax = key end else cache[key] = val end end nmax = nmax - offs if ctx.subset == 1 then -- We need only the sequence for key, val in ipairs(tbl) do retval[key + nmax] = val end else if ctx.subset == -1 then for key in ipairs(tbl) do tbl[key] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then retval[key + nmax] = val else retval[key] = val end end end for key, val in pairs(cache) do retval[key] = val end return retval end -- Flush the parameters by calling a custom function for each value (after this -- function has been invoked `ctx.params` will be no longer usable) local function flush_params (ctx, fn) local tmp local tbl = ctx.params if ctx.subset == -1 then for key, val in ipairs(tbl) do tbl[key] = nil end elseif ctx.subset == 1 then if ctx.pins == nil then for key, val in ipairs(tbl) do fn(key, val) end return end tmp = {} for key, val in ipairs(tbl) do tmp[key] = val end tbl = tmp end if ctx.pins ~= nil then local marker = ctx.sorttype < 1 and ctx.subset ~= -1 or nil for idx = 1, #ctx.pins do tmp = ctx.pins[idx] if tbl[tmp] ~= nil then fn(tmp, tbl[tmp]) tbl[tmp] = marker end end if ctx.subset == 1 then for key, val in ipairs(tbl) do if val ~= true then fn(key, val) end end return end end if ctx.sorttype > 0 then local nums, words, nn, nw = get_sorted_key_list(tbl, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end return end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end return end if ctx.subset == -1 or ctx.pins == nil then for key, val in ipairs(tbl) do fn(key, val) tbl[key] = nil end for key, val in pairs(tbl) do fn(key, val) end return end for key, val in ipairs(tbl) do if val ~= true then fn(key, val) end tbl[key] = nil end for key, val in pairs(tbl) do if val ~= true then fn(key, val) end end end -- Flush the parameters by calling one of two custom functions for each value -- (after this function has been invoked `ctx.params` will be no longer usable) local function mixed_flush_params (ctx, fn_seq, fn_oth) if ctx.subset == 1 then flush_params(ctx, fn_seq) return end if ctx.subset == -1 then flush_params(ctx, fn_oth) return end local tbl = ctx.params if ctx.pins == nil and ctx.sorttype < 1 then for key, val in ipairs(tbl) do fn_seq(key, val) tbl[key] = nil end for key, val in pairs(tbl) do fn_oth(key, val) end return end local tseq = {} for key, val in ipairs(tbl) do tseq[key] = val end if ctx.pins ~= nil then local tmp local marker = ctx.sorttype < 1 or nil for idx = 1, #ctx.pins do tmp = ctx.pins[idx] if tseq[tmp] ~= nil then fn_seq(tmp, tbl[tmp]) tbl[tmp], tseq[tmp] = nil, marker elseif tbl[tmp] ~= nil then fn_oth(tmp, tbl[tmp]) tbl[tmp] = nil end end end if ctx.sorttype > 0 then local nums, words, nn, nw = get_sorted_key_list(tbl, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn_oth(words[idx], tbl[words[idx]]) end end for idx = 1, nn do if tseq[nums[idx]] ~= nil then fn_seq(nums[idx], tseq[nums[idx]]) else fn_oth(nums[idx], tbl[nums[idx]]) end end if ctx.sorttype ~= 2 then for idx = 1, nw do fn_oth(words[idx], tbl[words[idx]]) end end return end for key, val in ipairs(tseq) do if val ~= true then fn_seq(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn_oth(key, val) end end -- Finalize and return a concatenated list local function finalize_and_return_concatenated_list (ctx, lst, len, modsize) if len > 0 then local tmp = ctx.oxfordsep or ctx.lastsep if tmp ~= nil and len > modsize * 2 then lst[len - modsize + 1] = tmp elseif len > modsize and ctx.lastsep ~= nil then lst[len - modsize + 1] = ctx.lastsep end lst[1] = ctx.header or '' if ctx.footer ~= nil then lst[len + 1] = ctx.footer end ctx.text = table.concat(lst) else ctx.text = ctx.ifngiven or '' end end --- --- --- PUBLIC ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Modifiers ]]-- ------------------- -- Syntax: #invoke:params|sequential|pipe to library.sequential = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘sequential’ directive has been provided more than once', 0) end if ctx.subset == -1 then error(modulename .. ': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end if ctx.sorttype > 0 then error(modulename .. ': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end ctx.iterfunc, ctx.subset = ipairs, 1 return context_iterate(ctx, ctx.fnpos + 1) end -- Syntax: #invoke:params|non-sequential|pipe to library['non-sequential'] = function (ctx) if ctx.subset == -1 then error(modulename .. ': The ‘non-sequential’ directive has been provided more than once', 0) end if ctx.subset == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end ctx.iterfunc, ctx.subset = pairs, -1 return context_iterate(ctx, ctx.fnpos + 1) end -- Syntax: #invoke:params|all_sorted|pipe to library.all_sorted = function (ctx) if ctx.sorttype == 1 then error(modulename .. ': The ‘all_sorted’ directive has been provided more than once', 0) end if ctx.subset == 1 then error(modulename .. ': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 2 then error(modulename .. ': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end ctx.sorttype = 1 return context_iterate(ctx, ctx.fnpos + 1) end -- Syntax: #invoke:params|reassorted|pipe to library.reassorted = function (ctx) if ctx.sorttype == 2 then error(modulename .. ': The ‘reassorted’ directive has been provided more than once', 0) end if ctx.subset == 1 then error(modulename .. ': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end ctx.sorttype = 2 return context_iterate(ctx, ctx.fnpos + 1) end -- Syntax: #invoke:params|pinned_until|sentinel|[parameter name 1]|[parameter -- name 2]|...|parameter name N|sentinel|pipe to library.pinned_until = function (ctx) local opts, offs = ctx.pipe, ctx.fnpos if opts[offs + 1] == nil then error(modulename .. ', ‘pinned_until’: No sentinel was provided', 0) end local tmp, bucket, curr, ncurr local sntl, idx = opts[offs + 1]:match'^%s*(.-)%s*$', 2 if ctx.pin_bucket == nil then bucket, curr, ncurr = {}, {}, 0 ctx.pin_bucket, ctx.pins = bucket, curr else bucket, curr, ncurr = ctx.pin_bucket, ctx.pins, ctx.npins end while opts[offs + idx] ~= nil do tmp = opts[offs + idx]:match'^%s*(.-)%s*$' if tmp == sntl then if idx == 2 then error(modulename .. ', ‘pinned_until’: No parameters to pin were provided', 0) end ctx.npins = ncurr + idx - 2 return context_iterate(ctx, offs + idx + 1) end if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end if bucket[tmp] then error(modulename .. ', ‘pinned_until’: Duplicate pinned parameter ‘' .. tostring(tmp) .. '’', 0) end curr[ncurr + idx - 1], bucket[tmp], idx = tmp, true, idx + 1 end error(modulename .. ', ‘pinned_until’: Missing sentinel in position #' .. tostring(idx), 0) end -- Syntax: #invoke:params|setting|directives|...|pipe to library.setting = function (ctx) local new_offs = set_strings_from_opts(ctx, ctx.pipe, ctx.fnpos + 1) if new_offs - ctx.fnpos < 2 then error(modulename .. ', ‘setting’: No directive was given', 0) end return context_iterate(ctx, new_offs + 1) end -- Syntax: #invoke:params|scoring|new parameter name|[container]|pipe to library.scoring = function (ctx) local opts, offs, retval = ctx.pipe, ctx.fnpos, 0 if opts[offs + 1] == nil then error(modulename .. ', ‘scoring’: No parameter name was provided', 0) end for _ in pairs(ctx.params) do retval = retval + 1 end local tn = opts[offs + 2] and opts[offs + 2]:match'^%s*(.*%S)' if tn == 'in_substack' then new_substack(ctx)[get_param_name(opts[offs + 1])] = tostring(retval) return context_iterate(ctx, offs + 3) end ctx.params[get_param_name(opts[offs + 1])] = tostring(retval) return tn == 'here' and context_iterate(ctx, offs + 3) or context_iterate(ctx, offs + 2, tn) end -- Syntax: #invoke:params|squeezing|pipe to library.squeezing = function (ctx) local store, indices, tbl, newlen = {}, {}, ctx.params, 0 for key, val in pairs(tbl) do if type(key) == 'number' then newlen = newlen + 1 indices[newlen], store[key], tbl[key] = key, val, nil end end table.sort(indices) for idx = 1, newlen do tbl[idx] = store[indices[idx]] end return context_iterate(ctx, ctx.fnpos + 1) end -- Syntax: #invoke:params|filling_the_gaps|pipe to library.filling_the_gaps = function (ctx) local newval, tbl, tmp, nmin, nmax, nnums = ctx.pipe[ctx.fnpos + 1], ctx.params, {}, 1, nil, -1 if newval == nil then error(modulename .. ', ‘filling_the_gaps’: No value was provided', 0) end for key, val in pairs(tbl) do if type(key) == 'number' then if nmax == nil then if key < nmin then nmin = key end nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end tmp[key], nnums = val, nnums + 1 end end if nmax ~= nil and nmax - nmin > nnums then ctx.n_available = ctx.n_available + nmin + nnums - nmax if ctx.n_available < 0 then error(modulename .. ', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end for idx = nmin, nmax do tbl[idx] = newval end for key, val in pairs(tmp) do tbl[key] = val end end return context_iterate(ctx, ctx.fnpos + 2) end -- Syntax: #invoke:params|clearing|pipe to library.clearing = function (ctx) local tbl, numerics = ctx.params, {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key], tbl[key] = val, nil end end for key, val in ipairs(numerics) do tbl[key] = val end return context_iterate(ctx, ctx.fnpos + 1) end -- Syntax: #invoke:params|cutting|left cut|right cut|pipe to library.cutting = function (ctx) local opts, offs = ctx.pipe, ctx.fnpos local lcut = tonumber(opts[offs + 1]) if lcut == nil or math.floor(lcut) ~= lcut then error(modulename .. ', ‘cutting’: Left cut must be an integer number', 0) end local rcut = tonumber(opts[offs + 2]) if rcut == nil or math.floor(rcut) ~= rcut then error(modulename .. ', ‘cutting’: Right cut must be an integer number', 0) end local tbl = ctx.params local len = #tbl if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end local tot = lcut + rcut if tot > 0 then local cache = {} if tot >= len then for key in ipairs(tbl) do tbl[key] = nil end tot = len else for idx = len - rcut + 1, len do tbl[idx] = nil end for idx = 1, lcut do tbl[idx] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then if key > len then cache[key - tot] = val else cache[key - lcut] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, offs + 3) end -- Syntax: #invoke:params|cropping|left crop|right crop|pipe to library.cropping = function (ctx) local opts, offs = ctx.pipe, ctx.fnpos local lcut = tonumber(opts[offs + 1]) if lcut == nil or math.floor(lcut) ~= lcut then error(modulename .. ', ‘cropping’: Left crop must be an integer number', 0) end local rcut = tonumber(opts[offs + 2]) if rcut == nil or math.floor(rcut) ~= rcut then error(modulename .. ', ‘cropping’: Right crop must be an integer number', 0) end local tbl = ctx.params local nmin, nmax for key in pairs(tbl) do if type(key) == 'number' then if nmin == nil then nmin, nmax = key, key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end if nmin ~= nil then local len = nmax - nmin + 1 if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end if lcut + rcut - len > -1 then for key in pairs(tbl) do if type(key) == 'number' then tbl[key] = nil end end elseif lcut + rcut > 0 then for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end local lshift = nmin + lcut - 1 if lshift > 0 then for idx = lshift + 1, nmax do tbl[idx - lshift], tbl[idx] = tbl[idx], nil end end end end return context_iterate(ctx, offs + 3) end -- Syntax: #invoke:params|purging|start offset|length|pipe to library.purging = function (ctx) local opts, offs = ctx.pipe, ctx.fnpos local idx = tonumber(opts[offs + 1]) if idx == nil or math.floor(idx) ~= idx then error(modulename .. ', ‘purging’: Start offset must be an integer number', 0) end local len = tonumber(opts[offs + 2]) if len == nil or math.floor(len) ~= len then error(modulename .. ', ‘purging’: Length must be an integer number', 0) end local tbl = ctx.params if len < 1 then len = len + table.maxn(tbl) if idx > len then return context_iterate(ctx, offs + 3) end len = len - idx + 1 end ctx.params = copy_table_reduced(tbl, idx, len) return context_iterate(ctx, offs + 3) end -- Syntax: #invoke:params|backpurging|start offset|length|pipe to library.backpurging = function (ctx) local opts, offs = ctx.pipe, ctx.fnpos local last = tonumber(opts[offs + 1]) if last == nil or math.floor(last) ~= last then error(modulename .. ', ‘backpurging’: Start offset must be an integer number', 0) end local len = tonumber(opts[offs + 2]) if len == nil or math.floor(len) ~= len then error(modulename .. ', ‘backpurging’: Length must be an integer number', 0) end local idx local tbl = ctx.params if len > 0 then idx = last - len + 1 else for key in pairs(tbl) do if type(key) == 'number' and (idx == nil or key < idx) then idx = key end end if idx == nil then return context_iterate(ctx, offs + 3) end idx = idx - len if last < idx then return context_iterate(ctx, offs + 3) end len = last - idx + 1 end ctx.params = copy_table_reduced(ctx.params, idx, len) return context_iterate(ctx, offs + 3) end -- Syntax: #invoke:params|shifting|addend|pipe to library.shifting = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local nshift = tonumber(ctx.pipe[ctx.fnpos + 1]) if nshift == nil or nshift == 0 or math.floor(nshift) ~= nshift then error(modulename .. ', ‘shifting’: A non-zero integer number must be provided', 0) end local tbl = {} for key, val in pairs(ctx.params) do if type(key) == 'number' then tbl[key + nshift] = val else tbl[key] = val end end ctx.params = tbl return context_iterate(ctx, ctx.fnpos + 2) end -- Syntax: #invoke:params|reversing_numeric_names|pipe to library.reversing_numeric_names = function (ctx) local tbl, numerics, nmax = ctx.params, {}, 0 for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key], tbl[key] = val, nil if key > nmax then nmax = key end end end for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end return context_iterate(ctx, ctx.fnpos + 1) end -- Syntax: #invoke:params|pivoting_numeric_names|pipe to --[[ library.pivoting_numeric_names = function (ctx) local tbl = ctx.params local shift = #tbl + 1 if shift < 2 then return library.reversing_numeric_names(ctx) end local tmp = {} for key, val in pairs(tbl) do if type(key) == 'number' then tmp[key], tbl[key] = val, nil end end for key, val in pairs(tmp) do tbl[shift - key] = val end return context_iterate(ctx, ctx.fnpos + 1) end ]]-- -- Syntax: #invoke:params|mirroring_numeric_names|pipe to --[[ library.mirroring_numeric_names = function (ctx) local nmax, nmin local tbl, tmp = ctx.params, {} for key, val in pairs(tbl) do if type(key) == 'number' then tmp[key], tbl[key] = val, nil if nmax == nil then nmin, nmax = key, key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end for key, val in pairs(tmp) do tbl[nmax + nmin - key] = val end return context_iterate(ctx, ctx.fnpos + 1) end ]]-- -- Syntax: #invoke:params|swapping_numeric_names|pipe to --[[ library.swapping_numeric_names = function (ctx) local tmp local tbl, cache, nsize = ctx.params, {}, 1 for key in pairs(tbl) do if type(key) == 'number' then cache[nsize], nsize = key, nsize + 1 end end table.sort(cache) for idx = math.floor((nsize - 1) / 2), 1, -1 do tmp = tbl[cache[idx] ] tbl[cache[idx] ] = tbl[cache[nsize - idx] ] tbl[cache[nsize - idx] ] = tmp end return context_iterate(ctx, ctx.fnpos + 1) end ]]-- -- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to library.sorting_sequential_values = function (ctx) local sortfn local opts, offs = ctx.pipe, ctx.fnpos local tn = opts[offs + 1] and opts[offs + 1]:match'^%s*(.*%S)' if tn ~= nil then sortfn = sortfunctions[tn] end if sortfn then table.sort(ctx.params, sortfn) else table.sort(ctx.params) end -- i.e. either `false` or `nil` if sortfn == nil then return context_iterate(ctx, offs + 1, tn) end return context_iterate(ctx, offs + 2) end -- Syntax: #invoke:params|splicing|[add to position]|position|increment| -- [number of elements to write]|...|pipe to library.splicing = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tmp2, argc, pos, refp local tbl, opts, offs = ctx.params, ctx.pipe, ctx.fnpos local tmp1 = opts[offs + 1] if tmp1 ~= nil then tmp2 = tonumber(tmp1) if tmp2 == nil or math.floor(tmp2) ~= tmp2 then pos, argc, tmp2 = tonumber(opts[offs + 2]), offs + 4, tmp1:match'^%s*(.*%S)' if tmp2 ~= nil then refp = position_references[tmp2] if refp == nil then error(modulename .. ', ‘splicing’: ‘' .. tostring(tmp2) .. '’ is not a valid first argument', 0) end else refp = 0 end else pos, argc, refp = tmp2, offs + 3, 0 end else pos, argc, refp = tonumber(opts[offs + 2]), offs + 4, 0 end if pos == nil or math.floor(pos) ~= pos then error(modulename .. ', ‘splicing’: The position must be an integer number', 0) end local len = tonumber(opts[argc - 1]) if len == nil or math.floor(len) ~= len then error(modulename .. ', ‘splicing’: The increment must be an integer number', 0) end local insn = tonumber(opts[argc]) if len == 0 and (insn == nil or insn < 1) then error(modulename .. ', ‘splicing’: When the increment is zero the number of elements to write cannot be zero', 0) end if refp == 2 then for _ in ipairs(tbl) do pos = pos + 1 end refp = 0 end tmp1, tmp2 = nil, nil if refp ~= 0 or len ~= 0 then for key, val in pairs(tbl) do if type(key) == 'number' then if tmp1 == nil then tmp1, tmp2 = key, key elseif key < tmp1 then tmp1 = key elseif key > tmp2 then tmp2 = key end end end end if tmp2 == nil then len = 0 elseif refp == 3 then pos = pos + tmp2 elseif refp == 1 then pos = pos + tmp1 end if len > 0 and pos + len > tmp1 and pos <= tmp2 then tbl = copy_table_expanded(tbl, pos, len) elseif len < 0 and pos - len > tmp1 and pos <= tmp2 then tbl = copy_table_reduced(tbl, pos, -len) else tbl = copy_or_ref_table(tbl, tbl ~= ctx.oparams) end ctx.params = tbl if insn == nil or insn < 0 or math.floor(insn) ~= insn then return context_iterate(ctx, argc) end tmp1 = argc - offs - pos + 1 for key = pos, pos + insn - 1 do tbl[key] = opts[offs + key + tmp1] end return context_iterate(ctx, argc + insn + 1) end -- Syntax: #invoke:params|imposing|name|value|pipe to library.imposing = function (ctx) local opts, offs = ctx.pipe, ctx.fnpos if opts[offs + 1] == nil then error(modulename .. ', ‘imposing’: Missing parameter name to impose', 0) end ctx.params[get_param_name(opts[offs + 1])] = opts[offs + 2] return context_iterate(ctx, offs + 3) end -- Syntax: #invoke:params|providing|name|value|pipe to library.providing = function (ctx) local opts, offs = ctx.pipe, ctx.fnpos if opts[offs + 1] == nil then error(modulename .. ', ‘providing’: Missing parameter name to provide', 0) end local key = get_param_name(opts[offs + 1]) if ctx.params[key] == nil then ctx.params[key] = opts[offs + 2] end return context_iterate(ctx, offs + 3) end -- Syntax: #invoke:params|reassigning|source|destination|[mode]|pipe to library.reassigning = function (ctx) local tbl, opts, offs = ctx.params, ctx.pipe, ctx.fnpos if opts[offs + 1] == nil then error(modulename .. ', ‘reassigning’: Missing source parameter', 0) end if opts[offs + 2] == nil then error(modulename .. ', ‘reassigning’: Missing destination parameter', 0) end local mode, argc local src, tn = get_param_name(opts[offs + 1]), opts[offs + 3] ~= nil and opts[offs + 3]:match'^%s*(.*%S)' local val = tbl[src] if tn ~= nil then mode = a_modes[tn] end if mode == nil then mode, argc = 0, offs + 3 else argc, tn = offs + 4, nil end if val == nil and mode > 1 then return context_iterate(ctx, argc, tn) end local dest = get_param_name(opts[offs + 2]) local tmp = tbl[dest] == nil if mode % 2 == 0 or (mode == 7 and tmp) then tbl[src] = nil end if tmp or mode < 4 then tbl[dest] = val end return context_iterate(ctx, argc, tn) end -- Syntax: #invoke:params|discarding|name|[how many]|pipe to library.discarding = function (ctx) local opts, offs = ctx.pipe, ctx.fnpos if opts[offs + 1] == nil then error(modulename .. ', ‘discarding’: Missing parameter name to discard', 0) end local len = tonumber(opts[offs + 2]) if len == nil then ctx.params[get_param_name(opts[offs + 1])] = nil return context_iterate(ctx, offs + 2) end local key = tonumber(opts[offs + 1]) if key == nil or math.floor(key) ~= key then error(modulename .. ', ‘discarding’: A range was provided, but the initial parameter name is not an integer number', 0) end if len < 1 or math.floor(len) ~= len then error(modulename .. ', ‘discarding’: A range can only be an integer number greater than zero', 0) end for idx = key, key + len - 1 do ctx.params[idx] = nil end return context_iterate(ctx, offs + 3) end -- Syntax: #invoke:params|excluding_non-numeric_names|pipe to library['excluding_non-numeric_names'] = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) ~= 'number' then tmp[key] = nil end end return context_iterate(ctx, ctx.fnpos + 1) end -- Syntax: #invoke:params|excluding_numeric_names|pipe to library.excluding_numeric_names = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) == 'number' then tmp[key] = nil end end return context_iterate(ctx, ctx.fnpos + 1) end -- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or]| -- [target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_name_matching = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tmp, ptn local tbl, newparams, opts, offs = ctx.params, {}, ctx.pipe, ctx.fnpos local targets, nptns, argc, tn = load_pattern_args(opts, offs, 'with_name_matching') for idx = 1, nptns do ptn = targets[idx] if ptn[3] then tmp = ptn[1] if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end newparams[tmp] = tbl[tmp] else for key, val in pairs(tbl) do if tostring(key):find(ptn[1], 1, ptn[2]) then newparams[key] = val end end end end ctx.params = newparams return context_iterate(ctx, argc, tn) end -- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1]| -- [and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_name_not_matching = function (ctx) local tbl, opts, offs = ctx.params, ctx.pipe, ctx.fnpos local targets, nptns, argc, tn = load_pattern_args(opts, offs, 'with_name_not_matching') if nptns == 1 and targets[1][3] then local tmp = targets[1][1] if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tbl[tonumber(tmp)] = nil else tbl[tmp] = nil end return context_iterate(ctx, argc, tn) end local yesmatch, ptn for key in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if tostring(key) ~= ptn[1] then yesmatch = false break end elseif not tostring(key):find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc, tn) end -- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or]| -- [target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_value_matching = function (ctx) local nomatch, ptn local tbl, opts, offs = ctx.params, ctx.pipe, ctx.fnpos local targets, nptns, argc, tn = load_pattern_args(opts, offs, 'with_value_matching') for key, val in pairs(tbl) do nomatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val == ptn[1] then nomatch = false break end elseif val:find(ptn[1], 1, ptn[2]) then nomatch = false break end end if nomatch then tbl[key] = nil end end return context_iterate(ctx, argc, tn) end -- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1]| -- [and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_value_not_matching = function (ctx) local yesmatch, ptn local tbl, opts, offs = ctx.params, ctx.pipe, ctx.fnpos local targets, nptns, argc, tn = load_pattern_args(opts, offs, 'with_value_not_matching') for key, val in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val ~= ptn[1] then yesmatch = false break end elseif not val:find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc, tn) end -- Syntax: #invoke:params|keeping_at_most|number of parameters to pick|pipe to library.keeping_at_most = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local len = tonumber(ctx.pipe[ctx.fnpos + 1]) if len == nil or len < 1 or math.floor(len) ~= len then error(modulename .. ', ‘keeping_at_most’: The number of parameters to keep must be an integer greater than zero', 0) end ctx.params = copy_table_maxn({}, ctx.params, len) return context_iterate(ctx, ctx.fnpos + 2) end -- Syntax: #invoke:params|trimming_values|pipe to library.trimming_values = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end return context_iterate(ctx, ctx.fnpos + 1) end -- Syntax: #invoke:params|mapping_to_lowercase|pipe to library.mapping_to_lowercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:lower() end return context_iterate(ctx, ctx.fnpos + 1) end -- Syntax: #invoke:params|mapping_to_uppercase|pipe to library.mapping_to_uppercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:upper() end return context_iterate(ctx, ctx.fnpos + 1) end -- Syntax: #invoke:params|mapping_by_calling|template name|[call -- style]|[let/use]|[...]|[let/use]|[...]|[number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]|[parameter N]|pipe to library.mapping_by_calling = function (ctx) local opts, offs = ctx.pipe, ctx.fnpos local tname = opts[offs + 1] and opts[offs + 1]:match'^%s*(.*%S)' if tname == nil then error(modulename .. ', ‘mapping_by_calling’: No template name was provided', 0) end local margs, argc, looptype, karg, varg, tbl, mem = load_callback_opts(opts, offs + 1, mapping_styles.values_only, ctx.params) local model = { title = tname, args = margs } value_maps[looptype](tbl, margs, karg, varg, function () return ctx.frame:expandTemplate(model) end) for key, val in pairs(mem) do tbl[key] = val end ctx.params = tbl return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_invoking|module name|function name|[call -- style]|[let/use]|[...]|[let/use]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_invoking = function (ctx) local opts, offs = ctx.pipe, ctx.fnpos local mname = opts[offs + 1] and opts[offs + 1]:match'^%s*(.*%S)' if mname == nil then error(modulename .. ', ‘mapping_by_invoking’: No module name was provided', 0) end local fname = opts[offs + 2] and opts[offs + 2]:match'^%s*(.*%S)' if fname == nil then error(modulename .. ', ‘mapping_by_invoking’: No function name was provided', 0) end local margs, argc, looptype, karg, varg, tbl, mem = load_callback_opts(opts, offs + 2, mapping_styles.values_only, ctx.params) local model = { title = 'Module:' .. mname, args = margs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end value_maps[looptype](tbl, margs, karg, varg, function () return tostring(mfunc(ctx.frame:newChild(model))) end) for key, val in pairs(mem) do tbl[key] = val end ctx.params = tbl return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_magic|parser function|[call -- style]|[let/use]|[...]|[let/use]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_magic = function (ctx) local opts, offs = ctx.pipe, ctx.fnpos local magic = opts[offs + 1] and opts[offs + 1]:match'^%s*(.*%S)' if magic == nil then error(modulename .. ', ‘mapping_by_magic’: No parser function was provided', 0) end local margs, argc, looptype, karg, varg, tbl, mem = load_callback_opts(opts, offs + 1, mapping_styles.values_only, ctx.params) value_maps[looptype](tbl, margs, karg, varg, function () return ctx.frame:callParserFunction(magic, margs) end) for key, val in pairs(mem) do tbl[key] = val end ctx.params = tbl return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.mapping_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die, tn = load_replace_args(ctx.pipe, ctx.fnpos, 'mapping_by_replacing') if die then return context_iterate(ctx, argc, tn) end local tbl = ctx.params if flg == 3 then for key, val in pairs(tbl) do if val == ptn then tbl[key] = repl end end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end for key, val in pairs(tbl) do tbl[key] = val:gsub(ptn, repl, nmax) end end return context_iterate(ctx, argc, tn) end -- Syntax: #invoke:params|mapping_by_mixing|mixing string|pipe to library.mapping_by_mixing = function (ctx) local opts, offs = ctx.pipe, ctx.fnpos if opts[offs + 1] == nil then error(modulename .. ', ‘mapping_by_mixing’: No mixing string was provided', 0) end local tbl, mix = ctx.params, opts[offs + 1] if mix == '$#' then for key in pairs(tbl) do tbl[key] = tostring(key) end return context_iterate(ctx, offs + 2) end local skel, cnv, n_parts = parse_placeholder_string(mix) for key, val in pairs(tbl) do for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end tbl[key] = table.concat(cnv) end return context_iterate(ctx, offs + 2) end -- Syntax: #invoke:params|renaming_to_lowercase|pipe to library.renaming_to_lowercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:lower()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, ctx.fnpos + 1) end -- Syntax: #invoke:params|renaming_to_uppercase|pipe to library.renaming_to_uppercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:upper()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, ctx.fnpos + 1) end -- Syntax: #invoke:params|renaming_to_sequence|[sort order]|pipe to library.renaming_to_sequence = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache, len local tbl = ctx.params local sortfn, argc, dosort, tn = load_sort_opt(ctx.pipe[ctx.fnpos + 1]) if dosort then local words, wl cache, words, len, wl = get_sorted_key_list(tbl, sortfn) for idx = 1, len do cache[idx] = tbl[cache[idx]] end for idx = 1, wl do cache[len + idx] = tbl[words[idx]] end else cache, len = {}, 1 for _, val in pairs(tbl) do cache[len], len = val, len + 1 end end ctx.params = cache return context_iterate(ctx, ctx.fnpos + argc, tn) end -- Syntax: #invoke:params|renaming_by_calling|template name|[call -- style]|[let/use]|[...]|[let/use]|[...]|[number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]|[parameter N]|pipe to library.renaming_by_calling = function (ctx) local opts, offs = ctx.pipe, ctx.fnpos local tname = opts[offs + 1] and opts[offs + 1]:match'^%s*(.*%S)' if tname == nil then error(modulename .. ', ‘renaming_by_calling’: No template name was provided', 0) end local rargs, argc, looptype, karg, varg, tbl, mem = load_callback_opts(opts, offs + 1, mapping_styles.names_only, ctx.params) local model = { title = tname, args = rargs } map_names(tbl, rargs, karg, varg, looptype, function () return ctx.frame:expandTemplate(model) end) for key, val in pairs(mem) do tbl[key] = val end ctx.params = tbl return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_invoking|module name|function -- name|[call style]|[let/use]|[...]|[let/use]|[...]|[number of -- additional arguments]|[argument 1]|[argument 2]|[...]|[argument -- N]|pipe to library.renaming_by_invoking = function (ctx) local opts, offs = ctx.pipe, ctx.fnpos local mname = opts[offs + 1] and opts[offs + 1]:match'^%s*(.*%S)' if mname == nil then error(modulename .. ', ‘renaming_by_invoking’: No module name was provided', 0) end local fname = opts[offs + 2] and opts[offs + 2]:match'^%s*(.*%S)' if fname == nil then error(modulename .. ', ‘renaming_by_invoking’: No function name was provided', 0) end local rargs, argc, looptype, karg, varg, tbl, mem = load_callback_opts(opts, offs + 2, mapping_styles.names_only, ctx.params) local model = { title = 'Module:' .. mname, args = rargs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end map_names(tbl, rargs, karg, varg, looptype, function () return tostring(mfunc(ctx.frame:newChild(model))) end) for key, val in pairs(mem) do tbl[key] = val end ctx.params = tbl return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_magic|parser function|[call -- style]|[let/use]|[...]|[let/use]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_magic = function (ctx) local opts, offs = ctx.pipe, ctx.fnpos local magic = opts[offs + 1] and opts[offs + 1]:match'^%s*(.*%S)' if magic == nil then error(modulename .. ', ‘renaming_by_magic’: No parser function was provided', 0) end local rargs, argc, looptype, karg, varg, tbl, mem = load_callback_opts(opts, offs + 1, mapping_styles.names_only, ctx.params) map_names(tbl, rargs, karg, varg, looptype, function () return ctx.frame:callParserFunction(magic, rargs) end) for key, val in pairs(mem) do tbl[key] = val end ctx.params = tbl return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.renaming_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die, tn = load_replace_args(ctx.pipe, ctx.fnpos, 'renaming_by_replacing') if die then return context_iterate(ctx, argc, tn) end local tbl = ctx.params if flg == 3 then ptn = get_param_name(ptn) local val = tbl[ptn] if val ~= nil then tbl[ptn], tbl[get_param_name(repl)] = nil, val end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end local cache = {} for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, tostring(key):gsub(ptn, repl, nmax)) end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, argc, tn) end -- Syntax: #invoke:params|renaming_by_mixing|mixing string|pipe to library.renaming_by_mixing = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local mix = ctx.pipe[ctx.fnpos + 1] if mix == nil then error(modulename .. ', ‘renaming_by_mixing’: No mixing string was provided', 0) end local cache = {} mix = mix:match'^%s*(.-)%s*$' if mix == '$@' then for _, val in pairs(ctx.params) do cache[get_param_name(val)] = val end else local skel, canvas, n_parts = parse_placeholder_string(mix) for key, val in pairs(ctx.params) do for idx = 2, n_parts, 2 do if skel[idx] then canvas[idx] = val else canvas[idx] = tostring(key) end end cache[get_param_name(table.concat(canvas))] = val end end ctx.params = cache return context_iterate(ctx, ctx.fnpos + 2) end -- Syntax: #invoke:params|grouping_by_calling|template -- name|[let/use]|[...]|[let/use]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.grouping_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts, offs = ctx.pipe, ctx.fnpos local tmp, argc, tbl, mem = load_child_opts(opts, offs + 2, 0, ctx.params) local gargs = {} for key, val in pairs(tmp) do if type(key) == 'number' and key < 1 then gargs[key - 1] = val else gargs[key] = val end end tmp = opts[offs + 1] and opts[offs + 1]:match'^%s*(.*%S)' if tmp == nil then error(modulename .. ', ‘grouping_by_calling’: No template name was provided', 0) end local model = { title = tmp } local groups = make_groups(tbl) for gid, group in pairs(groups) do for key, val in pairs(gargs) do group[key] = val end group[0], model.args = gid, group groups[gid] = ctx.frame:expandTemplate(model) end for key, val in pairs(mem) do groups[key] = val end ctx.params = groups return context_iterate(ctx, argc) end -- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.parsing = function (ctx) local opts, offs = ctx.pipe, ctx.fnpos if opts[offs + 1] == nil then error(modulename .. ', ‘parsing’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc, tn = load_parse_opts(opts, offs + 2, '|', '=') parse_parameter_string(ctx.params, opts[offs + 1], isep, iplain, psep, pplain, trimnamed, trimunnamed) return context_iterate(ctx, argc, tn) end -- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim -- flag]|[iteration delimiter setter]|[...]|[key-value delimiter -- setter]|[...]|pipe to library.reinterpreting = function (ctx) local opts, offs = ctx.pipe, ctx.fnpos if opts[offs + 1] == nil then error(modulename .. ', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc, tn = load_parse_opts(opts, offs + 2, '|', '=') local tbl, tmp = ctx.params, get_param_name(opts[offs + 1]) local str = tbl[tmp] if str ~= nil then tbl[tmp] = nil parse_parameter_string(tbl, str, isep, iplain, psep, pplain, trimnamed, trimunnamed) end return context_iterate(ctx, argc, tn) end -- Syntax: #invoke:params|evaluating|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.evaluating = function (ctx) local opts, offs = ctx.pipe, ctx.fnpos if opts[offs + 1] == nil then error(modulename .. ', ‘evaluating’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, repos, tn = load_parse_opts(opts, offs + 2, '!', ':') if opts[offs + 1]:match'^%s*(.*%S)' == nil then remove_numeric_keys(opts, offs, repos - offs) return context_iterate(ctx, offs, tn) end local new_opts, cache = {}, {} parse_parameter_string(cache, opts[offs + 1], isep, iplain, psep, pplain, trimnamed, trimunnamed) local shift = #cache + offs - repos + 1 for key, val in pairs(opts) do if type(key) ~= 'number' or key < offs then new_opts[key] = val elseif key >= repos then new_opts[key + shift] = val end end for key, val in pairs(cache) do if type(key) ~= 'number' or key < 1 then new_opts[key] = val else new_opts[key + offs] = val end end ctx.pipe = new_opts return context_iterate(ctx, offs + 1) end -- Syntax: #invoke:params|mixing_names_and_values|mixing string|pipe to library.mixing_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts, offs = ctx.pipe, ctx.fnpos if opts[offs + 1] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter names', 0) end if opts[offs + 2] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter values', 0) end local tmp local cache, mix_k, mix_v = {}, opts[offs + 1]:match'^%s*(.-)%s*$', opts[offs + 2] if mix_k == '$@' and mix_v == '$@' then for _, val in pairs(ctx.params) do cache[get_param_name(val)] = val end elseif mix_k == '$@' and mix_v == '$#' then for key, val in pairs(ctx.params) do cache[get_param_name(val)] = tostring(key) end elseif mix_k == '$#' and mix_v == '$#' then for key in pairs(ctx.params) do cache[key] = tostring(key) end else local skel_k, cnv_k, n_parts_k = parse_placeholder_string(mix_k) local skel_v, cnv_v, n_parts_v = parse_placeholder_string(mix_v) for key, val in pairs(ctx.params) do tmp = tostring(key) for idx = 2, n_parts_k, 2 do if skel_k[idx] then cnv_k[idx] = val else cnv_k[idx] = tmp end end for idx = 2, n_parts_v, 2 do if skel_v[idx] then cnv_v[idx] = val else cnv_v[idx] = tmp end end cache[get_param_name(table.concat(cnv_k))] = table.concat(cnv_v) end end ctx.params = cache return context_iterate(ctx, offs + 3) end -- Syntax: #invoke:params|combining|new parameter name|[sort -- order]|[with/without flushed glue]|setting directives|...|pipe to library.combining = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning return context_iterate(ctx, combine_parameters( ctx, function (key, val, kvs) return key .. kvs .. val end, 'combining' )) end -- Syntax: #invoke:params|combining_values|new parameter name|[sort -- order]|[with/without flushed glue]|setting directives|...|pipe to library.combining_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning return context_iterate(ctx, combine_parameters( ctx, function (key, val, kvs) return val end, 'combining_values' )) end -- Syntax: #invoke:params|combining_by_calling|template name|new parameter -- name|pipe to library.combining_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts, offs = ctx.pipe, ctx.fnpos local tname = opts[offs + 1] and opts[offs + 1]:match'^%s*(.*%S)' if tname == nil then error(modulename .. ', ‘combining_by_calling’: No template name was provided', 0) end if opts[offs + 2] == nil then error(modulename .. ', ‘combining_by_calling’: No parameter name was provided', 0) end ctx.params = { [get_param_name(opts[offs + 2])] = ctx.frame:expandTemplate{ title = tname, args = ctx.params } } return context_iterate(ctx, offs + 3) end -- Syntax: #invoke:params|combining_by_invoking|module name|function name|new -- parameter name|pipe to library.combining_by_invoking = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts, offs = ctx.pipe, ctx.fnpos local mname = opts[offs + 1] and opts[offs + 1]:match'^%s*(.*%S)' if mname == nil then error(modulename .. ', ‘combining_by_invoking’: No module name was provided', 0) end local fname = opts[offs + 2] and opts[offs + 2]:match'^%s*(.*%S)' if fname == nil then error(modulename .. ', ‘combining_by_invoking’: No function name was provided', 0) end if opts[offs + 3] == nil then error(modulename .. ', ‘combining_by_invoking’: No parameter name was provided', 0) end local model = { title = 'Module:' .. mname, args = ctx.params } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.params = { [get_param_name(opts[offs + 3])] = tostring(mfunc(ctx.frame:newChild(model))) } return context_iterate(ctx, offs + 4) end -- Syntax: #invoke:params|combining_by_magic|parser function|new parameter -- name|pipe to library.combining_by_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts, offs = ctx.pipe, ctx.fnpos local magic = opts[offs + 1] and opts[offs + 1]:match'^%s*(.*%S)' if magic == nil then error(modulename .. ', ‘combining_by_magic’: No parser function was provided', 0) end if opts[offs + 2] == nil then error(modulename .. ', ‘combining_by_magic’: No parameter name was provided', 0) end ctx.params = { [get_param_name(opts[offs + 2])] = ctx.frame:callParserFunction(magic, ctx.params) } return context_iterate(ctx, offs + 3) end -- Syntax: #invoke:params|snapshotting|[maximum number]|pipe to library.snapshotting = function (ctx) return context_iterate(ctx, ctx.fnpos + make_child(ctx, ctx.params, 'snapshotting')) end -- Syntax: #invoke:params|remembering|[maximum number]|pipe to library.remembering = function (ctx) return context_iterate(ctx, ctx.fnpos + make_child(ctx, ctx.oparams, 'remembering')) end -- Syntax: #invoke:params|entering_substack|[new]|pipe to library.entering_substack = function (ctx) local tbl, opts, offs, ncurrparent = ctx.params, ctx.pipe, ctx.fnpos, ctx.n_parents + 1 local tn = opts[offs + 1] and opts[offs + 1]:match'^%s*(.*%S)' if ctx.parents == nil then ctx.parents = { tbl } else ctx.parents[ncurrparent] = tbl end ctx.n_parents = ncurrparent if tn == 'new' then ctx.params = {} return context_iterate(ctx, offs + 2) end local currsnap = ctx.n_children if currsnap > 0 then ctx.params, ctx.children[currsnap], ctx.n_children = ctx.children[currsnap], nil, currsnap - 1 else local newparams = {} for key, val in pairs(tbl) do newparams[key] = val end ctx.params = newparams end return context_iterate(ctx, offs + 1, tn) end -- Syntax: #invoke:params|pulling|parameter name|pipe to library.pulling = function (ctx) local opts, offs = ctx.pipe, ctx.fnpos if opts[offs + 1] == nil then error(modulename .. ', ‘pulling’: No parameter to pull was provided', 0) end local tmp = ctx.n_parents local parent = tmp < 1 and ctx.oparams or ctx.parents[tmp] tmp = get_param_name(opts[offs + 1]) if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end return context_iterate(ctx, ctx.fnpos + 2) end -- Syntax: #invoke:params|recalling|parameter name|pipe to library.recalling = function (ctx) local opts, offs = ctx.pipe, ctx.fnpos if opts[offs + 1] == nil then error(modulename .. ', ‘recalling’: No parameter to recall was provided', 0) end local arg = get_param_name(opts[offs + 1]) if ctx.oparams[arg] ~= nil then ctx.params[arg] = ctx.oparams[arg] end return context_iterate(ctx, ctx.fnpos + 2) end -- Syntax: #invoke:params|finding|parameter name|pipe to --[[ library.finding = function (ctx) local opts, offs = ctx.pipe, ctx.fnpos if opts[offs + 1] == nil then error(modulename .. ', ‘finding’: No parameter to find was provided', 0) end local arg = get_param_name(opts[offs + 1]) local parent for idx = ctx.n_parents, 1, -1 do parent = ctx.parents[idx] if parent[arg] ~= nil then ctx.params[arg] = parent[arg] return context_iterate(ctx, offs + 2) end end if ctx.oparams[arg] ~= nil then ctx.params[arg] = ctx.oparams[arg] end return context_iterate(ctx, offs + 2) end ]]-- -- Syntax: #invoke:params|picking|number of parameters to pick|pipe to --[[ library.picking = function (ctx) local len = tonumber(ctx.pipe[ctx.fnpos + 1]) if len == nil or len < 1 or math.floor(len) ~= len then error(modulename .. ', ‘picking’: The number of parameters to pick must be an integer greater than zero', 0) end if ctx.n_parents < 1 then copy_table_maxn(ctx.params, ctx.oparams, len) else copy_table_maxn(ctx.params, ctx.parents[ctx.n_parents], len) end return context_iterate(ctx, ctx.fnpos + 2) end ]]-- -- Syntax: #invoke:params|detaching_substack|pipe to library.detaching_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘detaching_substack’: No substacks have been created', 0) end local parent = ctx.parents[ncurrparent] for key in pairs(ctx.params) do parent[key] = nil end return context_iterate(ctx, ctx.fnpos + 1) end -- Syntax: #invoke:params|dropping_substack|pipe to library.dropping_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘dropping_substack’: No substacks have been created', 0) end ctx.params, ctx.parents[ncurrparent], ctx.n_parents = ctx.parents[ncurrparent], nil, ncurrparent - 1 return context_iterate(ctx, ctx.fnpos + 1) end -- Syntax: #invoke:params|leaving_substack|pipe to library.leaving_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘leaving_substack’: No substacks have been created', 0) end local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { ctx.params } else ctx.children[currsnap] = ctx.params end ctx.params, ctx.parents[ncurrparent], ctx.n_parents, ctx.n_children = ctx.parents[ncurrparent], nil, ncurrparent - 1, currsnap return context_iterate(ctx, ctx.fnpos + 1) end -- Syntax: #invoke:params|merging_substack|pipe to library.merging_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘merging_substack’: No substack has been created', 0) end local parent, child = ctx.parents[ncurrparent], ctx.params ctx.params, ctx.parents[ncurrparent], ctx.n_parents = parent, nil, ncurrparent - 1 for key, val in pairs(child) do parent[key] = val end return context_iterate(ctx, ctx.fnpos + 1) end -- Syntax: #invoke:params|rearranging_substacks|...|pipe to library.rearranging_substacks = function (ctx) local opts, offs = ctx.pipe, ctx.fnpos local tmp = tonumber(opts[offs + 1]) if tmp == nil then error(modulename .. ', ‘rearranging_substacks’: You must specify at least one substack', 0) end local argc local oldchdn, newchdn, ntot, sid = ctx.children, {}, ctx.n_children, 1 repeat if tmp > ntot or tmp < 1 or math.floor(tmp) ~= tmp then error(modulename .. ', ‘rearranging_substacks’: Substack #' .. tostring(tmp) .. ' does not exist', 0) end if oldchdn[ntot - tmp + 1] == nil then error(modulename .. ', ‘rearranging_substacks’: Substack #' .. tostring(tmp) .. ' appears multiple times', 0) end newchdn[ntot - sid + 1], oldchdn[ntot - tmp + 1], sid = oldchdn[ntot - tmp + 1], nil, sid + 1 tmp = tonumber(opts[offs + sid]) until tmp == nil ctx.children, argc, sid = newchdn, offs + sid, 1 for idx = 1, ntot do tmp = oldchdn[idx] if tmp ~= nil then newchdn[sid], sid = tmp, sid + 1 end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|flushing|pipe to library.flushing = function (ctx) if ctx.n_children < 1 then error(modulename .. ', ‘flushing’: There are no substacks to flush', 0) end local parent, currsnap = ctx.params, ctx.n_children for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end ctx.children[currsnap], ctx.n_children = nil, currsnap - 1 return context_iterate(ctx, ctx.fnpos + 1) end -- Syntax: #invoke:params|setting_by_flushing|pipe to library.setting_by_flushing = function (ctx) set_strings_from_substack(ctx, ctx, 'setting_by_flushing') return context_iterate(ctx, ctx.fnpos + 1) end --[[ Functions ]]-- ----------------------------- -- Syntax: #invoke:params|count library.count = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local retval = 0 for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end if ctx.subset == -1 then retval = retval - #ctx.params end ctx.text = retval return false end -- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2]| -- [...]|[item n]|[named item 1=value 1]|[...]|[named item n=value -- n]|[...] library.concat_and_call = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts, offs = ctx.pipe, ctx.fnpos local tname = opts[offs + 1] and opts[offs + 1]:match'^%s*(.*%S)' if tname == nil then error(modulename .. ', ‘concat_and_call’: No template name was provided', 0) end ctx.text = ctx.frame:expandTemplate{ title = tname, args = concat_params(ctx, offs + 1) } return false end -- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend -- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named -- item n=value n]|[...] library.concat_and_invoke = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts, offs = ctx.pipe, ctx.fnpos local mname = opts[offs + 1] and opts[offs + 1]:match'^%s*(.*%S)' if mname == nil then error(modulename .. ', ‘concat_and_invoke’: No module name was provided', 0) end local fname = opts[offs + 2] and opts[offs + 2]:match'^%s*(.*%S)' if fname == nil then error(modulename .. ', ‘concat_and_invoke’: No function name was provided', 0) end local mfunc = require('Module:' .. mname)[fname] if mfunc == nil then error(modulename .. ', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.text = mfunc(ctx.frame:newChild{ title = 'Module:' .. mname, args = concat_params(ctx, offs + 2) }) return false end -- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend -- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n= -- value n]|[...] library.concat_and_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts, offs = ctx.pipe, ctx.fnpos local magic = opts[offs + 1] and opts[offs + 1]:match'^%s*(.*%S)' if magic == nil then error(modulename .. ', ‘concat_and_magic’: No parser function was provided', 0) end ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx, offs + 1)) return false end -- Syntax: #invoke:params|value_of|parameter name library.value_of = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts, offs = ctx.pipe, ctx.fnpos if opts[offs + 1] == nil then error(modulename .. ', ‘value_of’: No parameter name was provided', 0) end local val local key = opts[offs + 1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) val = ctx.params[key] -- No worries: #ctx.params is unused when the modifier is in -- first position (and therefore `ctx.params` is a metatable) if val ~= nil and ( ctx.subset ~= -1 or key > #ctx.params or key < 1 ) and ( ctx.subset ~= 1 or (key <= #ctx.params and key > 0) ) then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') else ctx.text = ctx.ifngiven or '' end else val = ctx.params[key] if ctx.subset ~= 1 and val ~= nil then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') else ctx.text = ctx.ifngiven or '' end end return false end -- Syntax: #invoke:params|list library.list = function (ctx) local ret, nss, kvs, pps = {}, 0, ctx.pairsep or '', ctx.itersep or '' flush_params(ctx, function (key, val) ret[nss + 1], ret[nss + 2], ret[nss + 3], ret[nss + 4], nss = pps, key, kvs, val, nss + 4 end) finalize_and_return_concatenated_list(ctx, ret, nss, 4) return false end -- Syntax: #invoke:params|list_values library.list_values = function (ctx) -- NOTE: `library.coins()` and `library.unique_coins()` rely on us local ret, nss, pps = {}, 0, ctx.itersep or '' flush_params(ctx, function (key, val) ret[nss + 1], ret[nss + 2], nss = pps, val, nss + 2 end) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|list_maybe_with_names library.list_maybe_with_names = function (ctx) local ret, nss, kvs, pps = {}, 0, ctx.pairsep or '', ctx.itersep or '' mixed_flush_params( ctx, function (key, val) ret[nss + 1], ret[nss + 2], ret[nss + 3], ret[nss + 4], nss = pps, '', '', val, nss + 4 end, function (key, val) ret[nss + 1], ret[nss + 2], ret[nss + 3], ret[nss + 4], nss = pps, key, kvs, val, nss + 4 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 4) return false end -- Syntax: #invoke:params|for_each|wikitext library.for_each = function (ctx) local ret, nss, pps, txt = {}, 0, ctx.itersep or '', ctx.pipe[ctx.fnpos + 1] or '' local skel, cnv, n_parts = parse_placeholder_string(txt) flush_params(ctx, function (key, val) for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end ret[nss + 1], nss = pps, nss + 2 ret[nss] = table.concat(cnv) end) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2]| -- [...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each = function (ctx) local opts, offs = ctx.pipe, ctx.fnpos local tname = opts[offs + 1] and opts[offs + 1]:match'^%s*(.*%S)' if tname == nil then error(modulename .. ', ‘call_for_each’: No template name was provided', 0) end local cargs = copy_table_reduced(opts, 1, offs - 1) local model, ret, nss, ccs = { title = tname, args = cargs }, {}, 0, ctx.itersep or '' flush_params(ctx, function (key, val) cargs[1], cargs[2], ret[nss + 1], nss = key, val, ccs, nss + 2 ret[nss] = ctx.frame:expandTemplate(model) end) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|invoke_for_each|module name|module function|[append -- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...]| -- [named param n=value n]|[...] library.invoke_for_each = function (ctx) local opts, offs = ctx.pipe, ctx.fnpos local mname = opts[offs + 1] and opts[offs + 1]:match'^%s*(.*%S)' if mname == nil then error(modulename .. ', ‘invoke_for_each’: No module name was provided', 0) end local fname = opts[offs + 2] and opts[offs + 2]:match'^%s*(.*%S)' if fname == nil then error(modulename .. ', ‘invoke_for_each’: No function name was provided', 0) end local iargs = copy_table_reduced(ctx.pipe, 1, offs) local model = { title = 'Module:' .. mname, args = iargs } local mfunc, ret, nss, ccs = require(model.title)[fname], {}, 0, ctx.itersep or '' if mfunc == nil then error(modulename .. ', ‘invoke_for_each’: The function ‘' .. fname .. '’ does not exist', 0) end flush_params(ctx, function (key, val) iargs[1], iargs[2], ret[nss + 1], nss = key, val, ccs, nss + 2 ret[nss] = mfunc(ctx.frame:newChild(model)) end) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.magic_for_each = function (ctx) local opts, offs = ctx.pipe, ctx.fnpos local magic = opts[offs + 1] and opts[offs + 1]:match'^%s*(.*%S)' if magic == nil then error(modulename .. ', ‘magic_for_each’: No parser function was provided', 0) end local ret, nss, ccs, cargs = {}, 0, ctx.itersep or '', copy_table_reduced(opts, 1, offs - 1) flush_params(ctx, function (key, val) cargs[1], cargs[2], ret[nss + 1], nss = key, val, ccs, nss + 2 ret[nss] = ctx.frame:callParserFunction(magic, cargs) end) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_value = function (ctx) local opts, offs = ctx.pipe, ctx.fnpos local tname = opts[offs + 1] and opts[offs + 1]:match'^%s*(.*%S)' if tname == nil then error(modulename .. ', ‘call_for_each_value’: No template name was provided', 0) end local cargs = copy_table_reduced(ctx.pipe, 1, offs) local model = { title = tname, args = cargs } local ret, nss, ccs = {}, 0, ctx.itersep or '' flush_params(ctx, function (key, val) cargs[1], ret[nss + 1], nss = val, ccs, nss + 2 ret[nss] = ctx.frame:expandTemplate(model) end) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.invoke_for_each_value = function (ctx) local opts, offs = ctx.pipe, ctx.fnpos local mname = opts[offs + 1] and opts[offs + 1]:match'^%s*(.*%S)' if mname == nil then error(modulename .. ', ‘invoke_for_each_value’: No module name was provided', 0) end local fname = opts[offs + 2] and opts[offs + 2]:match'^%s*(.*%S)' if fname == nil then error(modulename .. ', ‘invoke_for_each_value’: No function name was provided', 0) end local iargs = copy_table_reduced(ctx.pipe, 1, offs + 1) local model = { title = 'Module:' .. mname, args = iargs } local mfunc, ret, nss, ccs = require(model.title)[fname], {}, 0, ctx.itersep or '' if mfunc == nil then error(modulename .. ', ‘invoke_for_each_value’: The function ‘' .. fname .. '’ does not exist', 0) end flush_params(ctx, function (key, val) iargs[1], ret[nss + 1], nss = val, ccs, nss + 2 ret[nss] = mfunc(ctx.frame:newChild(model)) end) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1]| -- [append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named -- param n=value n]|[...] library.magic_for_each_value = function (ctx) local opts, offs = ctx.pipe, ctx.fnpos local magic = opts[offs + 1] and opts[offs + 1]:match'^%s*(.*%S)' if magic == nil then error(modulename .. ', ‘magic_for_each_value’: No parser function was provided', 0) end local cargs, ret, nss, ccs = copy_table_reduced(opts, 1, offs), {}, 0, ctx.itersep or '' flush_params(ctx, function (key, val) cargs[1], ret[nss + 1], nss = val, ccs, nss + 2 ret[nss] = ctx.frame:callParserFunction(magic, cargs) end) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_group = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts, offs = ctx.pipe, ctx.fnpos local tmp = opts[offs + 1] and opts[offs + 1]:match'^%s*(.*%S)' if tmp == nil then error(modulename .. ', ‘call_for_each_group’: No template name was provided', 0) end local model = { title = tmp } local bargs, ret, nss, ccs = {}, {}, 0, ctx.itersep or '' for key, val in pairs(opts) do if type(key) ~= 'number' then bargs[key] = val elseif key > offs then bargs[key - offs - 1] = val elseif key < 1 then bargs[key - 1] = val end end ctx.params = make_groups(ctx.params) flush_params(ctx, function (gid, group) for key, val in pairs(bargs) do group[key] = val end group[0], model.args, ret[nss + 1], nss = gid, group, ccs, nss + 2 ret[nss] = ctx.frame:expandTemplate(model) end) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end --[[ First-position-only modifiers ]]-- --------------------------------------- -- Syntax: #invoke:params|new|pipe to static_iface.new = function (child_frame) local ctx = context_new(child_frame, 'new') ctx.params = {} main_loop(ctx, context_iterate(ctx, 2)) return ctx.text end --[[ First-position-only functions ]]-- --------------------------------------- -- Syntax: #invoke:params|self static_iface.self = function (child_frame) return child_frame:getParent():getTitle() end --[[ Public metatable of functions ]]-- --------------------------------------- return setmetatable({}, { __index = function (_, query) local fname = query:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end local func = static_iface[fname] if func ~= nil then return func end func = library[fname] if func == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) end return function (child_frame) local ctx = context_new(child_frame, fname) ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname]) main_loop(ctx, func) return ctx.text end end }) edjjks8ayvjip4tl4xpkdb2en7irkcr Bâjâng Kolè' Madhurâ 0 14614 67815 67508 2026-11-09T04:02:02Z Ichi Ocha 3826 67815 wikitext text/x-wiki [[Bhengkek:Ghâmbhâr Ḍhâlâng Bâjâng Kolè Madhurâ.jpg|jmpl|310x310px|Ghâmbhâr Bâjâng Kolè' Madhurâ]] '''Bâjâng Kolè' Madhurâ''' aropa'aghi sala sèttong senni tatèngghun tradisional sè bâḍâ è [[Polo Madhurâ|Polo Madhurâ,]] [[Jhâbâ Tèmor|Jhâbâ Tèmor,]] tatèngghun arèya paḍâ ngangghuy ''boneka'' ḍâri kolè' kerbhuy otabâ kolè' [[sapè]] namong èghâmbhâr tor èbârnaèn ngangghuy gagrag ''(gaya)'' khas Madhurâ. Èkamaèn sareng dhâlang tor ètoro'èn sareng ghenḍhing tor kèjhungan. Tradisi ghâpanèka ḍâri bângaseppo sè ghi' èjâgâ sareng pan-saponapan [[dhâlâng]] tor bhâlâ palèstarè budhâjâ Madhurâ.<ref>Achmad Hamzah Fansuri Basar. [https://etd.repository.ugm.ac.id/penelitian/detail/56347 Pertunjukan Bajang Kole' Pamekasan: Wayang Kulit Madura dalam Kajian Bentuk, Fungsi dan Makna]. Repository UGM. Aksès 7 Novèmber 2026.</ref> == Sajhârâ bâḍâna Bâjâng Kolè' Madhurâ == Sajhrâ bâḍâna bâjâng kolè' Madhurâ ta' ètolès kalabân saè è pan-saponapan sombher tatoles. Mètorot jhâjhârbhâ'ân ḍâri bângaseppo Panti Budaya Tor [[Vihara Avalokitesvara Mekkasân|Vihara Avalokitesvara]] bâḍâna bâjâng kolè' ghâpanèka èmolaè ḍâri taon kapèng-17 kantos taon kapèng-18 Masehi. È jhâman ghâpanèka tradisi bâjâng kolè ampon bâḍâ è [[Madhurâ]] tor èpèyara sareng pan-saponapan bhâlâ krabâ Tionghoa è Mekkasân. Kabâḍâ'ân ghâpanèka dhâddhi tantenger bâḍâna camporan antarana bhudhâjâ sèttong tor salaènna. Salaènna sombher-sombher lokal, tombuna bâjâng kolè' è Madhurâ jhughân abhâreng kalabân maso'na bâjâng laèn ḍâri lowar Madhurâ. È ḍâlem sala sèttong serradhân '''''History Of Java''''' angghiddhân [[Thomas Stamford Raffles]] bâḍâ bâgiyân [[bâjâng Mataram]] sè tanoro' èpanèbâr kantos ḍâ' ghir sèrèng [[Jhâbâ Tèmor]] bân kennengan-kennengan sè semma' sareng Madhurâ. Serradhân ghâpanèka sè èpadhâddhi pètoḍhu sareng bâḍâna pangaro Mataram ḍâ' ka carèta tor bhângonna bâjâng sè bâḍâ è Madhurâ.<ref>{{Cite web |title=Bot Verification |url=https://www.superradio.id/wayang-gedhog-mutiara-budaya-yang-hilang-dari-madura/ |access-date=2026-11-07 |website=www.superradio.id}}</ref> == Tatengner è ḍâlem tatèngghun == Bâjâng kolè' Madhurâ anḍi' pan-saponapan tatengnger sè aghâbây bâjâng kolè' Madhurâ bhiḍhâ kalabân bâjâng-bâjâng laènna, èngghi panèka èyantarana: * Bâḍâna pangangghuyân bhâsa Madhurâ è ḍâlem dhâdhâbun tor suluk. * Manabi ètalekteghi bâjâng sè èyangghuy aropa'aghi bâjâng kalabân gagrag ''(Gaya)'' tor tatenger khas Madhurâ. * Tata Sowara tor pangèrèng gamelan sè ngangghuy gamelan tor [[ghenḍhing Madhurâ]] sè aghâbây bâjâng Madhurâ laèn ḍâri sè laèn. == Perkembangan tor akulturasi == È ḍâlem perkembanganna, bâjâng kolè' Madhurâ nodhuwaghi bâḍana ghutong rojhung budhâjâ, bâḍâna bhântowan marghâsarè ètnis [[Tionghoa]] è Mekkasân ḍâlem arâbât tor ngopènè bâjâng kolè' Madhurâ ḍâri bâjânga kantos ḍâ' budhâjâèpon. Dhâddhi sala sèttong tandhâ bâḍâna ghutong rojhung budhâjâ ḍâlem malanggheng tor ma'addhreng budhâjâ bâjâng kolè' Madhurâ. Sala sèttong dhâlang tor [[vihara]] kantos samangkèn pagghun nyèmpen pan-saponapan bâjâng kona sè ra-kèra omorra korang lebbi 300 taon, tor ètoronaghi kantos ana' poto.<ref>{{Citation|title=Bâjâng Kolè' Madhurâ|url=https://mad.wikipedia.org/w/index.php?title=B%C3%A2j%C3%A2ng_Kol%C3%A8%27_Madhur%C3%A2&oldid=67504|date=2026-11-07|accessdate=2026-11-07}}</ref> == Cara ka'angghuy bâjâng teptep addhreng == È taon 2009, bângaseppo [[Vihara Avalokitesvara Mekkasân|Vihara Avalokitesvara]] Mekkasân, Kosala, mabâḍâ'aghi pangghung tatèngghun rajâ sè aghâdhuwân tojjhuwân ka'angghuy matombu rassa senneng ḍâ' ka marghâsarè Madhurâ khosossa è [[Pamekkasân|Mekkasân]]. È ḍâlem pangghung kasebbhut abâ'na madateng dhâlâng bâjâng kolè tor tokang kèjhung (sindèn) ḍâri 10 naghârâ èngghi panèka [[Jeppang]], [[Bâlândhâ]], [[Argentina|Argèntina]], Skotlandia, [[Hongaria]], Inggris, Afrika, Inḍonèsia, [[Cèna|China]], tor Slovakkia. Lalampan ghâpanèka èlakonè samalem bhântèng, tor ngaollè pangarghâ'ân ḍâri [[Musèum Rèkor Inḍonèsia]] (MURI), ta' coma dhâlâng tor tokang kèjhung, para pamèyarsa sè mèrsanè jhughân ḍâteng ḍâri lowar Inḍonèsia otabâ mancanaghârâ. Maskè lalampan kasebbhut ampon kalampan tor dhâddhi sala sèttong pangarghâ'ân rajâ è ḍâlem makennal budhâjâ Madhurâ, rassa lèbur marghâsarè Madhurâ ḍâ' ka bâjâng kolè abhâsa Madhurâ ta' nodhuwaghi kamajhuwân sè tègghi, kosala aparèng pamangghi jhâ' sala sèttong koranga rassa lèbur ngangoḍâtdhân ḍâ'ka bâjâng Madhurâ iyâ arèya korangnga sokongan dâri sakabbhina pihak, khosossa è ḍâlem makennal bâjâng kolè ḍâ' ka ngangoḍâtdhân lèbât lembaga pandidighân.<ref>{{Cite news |last=Media |first=Kompas Cyber |date=2018-03-02 |title=Wayang Kulit Madura, Hidup Segan Mati Tak Mau (1) |url=https://regional.kompas.com/read/2018/03/02/12384481/wayang-kulit-madura-hidup-segan-mati-tak-mau-1?page=all |access-date=2026-11-07 |work=KOMPAS.com |language=id}}</ref> Samangkèn Bâjâng Kolè Madhurâ Ampon èpaessa dhâddhi Bârisân Budhâjâ Tâ' Bhârâng (WBTB) , abhâreng sareng sala sèttong budhâjâ Madhurâ sè anyama Tari Ronding ḍuwâ budhâjâ èyattas èpaessa sareng Kementrian Kabudhâjân Republik Indonesia (KEMENBUD RI) lèbat Direktorat jendral pangaobhân Kabudhâjân Bân Tradisi è bulân Oktober taon 2025, lalampan ghâpanèka aropa'aghi sala sèttong usulân pamarènta ka'angghuy jhânjhi ajâgâ kabudhâjân lokal khosossèpon Bâjâng Kolè' Madhurâ.<ref>{{Cite web |last=Rachmalia |first=Mira |title=Dua Kesenian Madura Ditetapkan Warisan Budaya Tak Benda |url=https://www.detik.com/jatim/budaya/d-8161225/dua-kesenian-madura-ditetapkan-warisan-budaya-tak-benda |access-date=2026-11-07 |website=detikjatim |language=id-ID}}</ref> == Tantangan sè èyadhepbhi == Bâjâng Kolè' Madhurâ samangkèn èyadhepbhi sareng pan-saponapan tangtangan sè anḍi' pangaro ka tradisina. Maskè rassa lèbur marghâsarè sempet toron, pan-saponapan lalampan otabâ lalampan kabhudhâjâân ampon noḍhuwaghi bâḍâna tanḍhâ kaoḍi'ân. È bâkto molang arè Kabhupatèn Mekkasân sè kapèng-495, tatèngghun bâjâng kolè' Madhurâ èpabâḍâ polè è pendopo budhâjâ Kabupaten Mekkasân. Tatèngghun kasebbuut aparèng pangaonèngan khosossa ka ngangoḍâtdhân jhâ' pangobâ'ân generasi dhâlang ampon molaè ajhâlân, ètanḍhâi sareng bâḍâna ḍhâlâng tor wiyaga (orèng sè amaèn gamelan) ngoḍâ sè tampil è lalampan kasebbhut. Salaènna rèng-orèngnga aobâ, tangtangan laènna sè èyadhepbhi iyâ arèya korangnga dokumentasi. Parlona ma'akor jhâman sareng kabudhâjân tor makennal kabudhâjân ḍâ' ka ngangoḍâtdhân dhâddhi sala sèttong cara sopajâ sakabbhina bhudhâjâ bhângsa khososepon budhâjâ Madhurâ bisa addhreng tor lestarè, ta' coma mangkèn namong pagghi' kantos ana' poto pagghi'. <ref name=":1">{{Cite web |url=https://maduranet.com/2025/10/26/budaya/wayang-kulit-madura-hidup-kembali-di-hari-jadi-ke-495-pamekasan/ |title=Archive copy |access-date=2025-11-25 |archive-date=2025-11-12 |archive-url=https://web.archive.org/web/20251112044835/https://maduranet.com/2025/10/26/budaya/wayang-kulit-madura-hidup-kembali-di-hari-jadi-ke-495-pamekasan/ |url-status=dead }}</ref> == Macemmèpon Ghendhing Bâjâng Kolè' Madhurâ == # [[Ghendhing Ayak Pathet Lèma']] # [[Ghendhing Bondèt Laras Salèndro Pathet Sanga']] # [[Ghendhing Celilit]] # Ghendhing Puspowarno # Ghendhing Sampa' Slèndro Pathet Lèma'/ Sampa' Salèndro Pathet Sanga' == Lakon sè toman èlampa'aghi == # Kongso Addhu Jhâghu # Bima Soccè/Dewa Ruci # Lakon Murwokolo (Ruwatan) # Bhâlâdhibâ Èwisuda == Sombher == <references /> ta0pa22yirp10ck5erlauf750c0qlri Wilhelmus Zakaria Johannes 0 19993 67826 67762 2026-11-09T04:54:01Z Hainisyaf 2647 67826 wikitext text/x-wiki [[Bhengkek:Wilhelmus Zakaria Johannes.jpg|jmpl]] Prof. dr. '''Wilhelmus Zakaria Johannes''' serring jughân ètolès ḍâlem èjia'ann anyar '''Wilhelmus Zakaria Yohannes''' (16 Juli – 4 Septèmber 1952) panèka dokter medis radiologi [[Inḍonèsia]]. Johannes panèka dokter medis [[Inḍonèsia]] sè kabidhân ajhâr radiologi è CBZ (roma sakè` sipil) è [[Batavia]] bân marèna dhâddhi ahli ḍâlem teknologi Rontgen mangsan marè bânyya' nyombhâng è pangembhângan studi kedokteran è [[Inḍonèsia]]<ref>{{Cite web |last=Hidayat |first=Pandu |title=Belajar Ketekunan dari W.Z. Johannes, Ahli Radiologi Pertama Indonesia |url=https://www.goodnewsfromindonesia.id/indonesiana/humaniora/belajar-ketekunan-dari-w-z-johannes-ahli-radiologi-pertama-indonesia |access-date=2026-11-08 |website=Good News From Indonesia |language=id}}</ref>. Pamarènta Inḍonèsia ngormataghin WZ Johannes mènangka [[Pahlawan Nasional Inḍonèsia|pahlawan nasional Inḍonèsia]] bân nyama`aghin sèttong roma sake' omom è Kupang, [[Nusa Tengghârâ Tèmor|Nusa Tenggara Tèmur]] kalabhân nyamana. Mènangka pangormadhân, asma Wilhelmus Zakaria Johannes èguna`aghin ḍâ' sèttong kapal TNI-AL, KRI Wilhelmus Zakaria Johannes (332). Johannes sedhâ è taon 1952 bân imakamaghin è pemakaman Jati Petamburan è [[Daerah Khusus Ibukota Jakarta|Jakarta Pusat]]. WZ Johannes panèka sapopona ḍâri Profesor Herman Johannes, sèttong profesor [[Inḍonèsia]] sè ngajhâbât dhâddhi Rektor [[Universitas Gadjah Mada]] bân paman ḍâri Helmi Johannes, sèttong pamantè berita bân produser eksekutif ghâbây VOA [[Inḍonèsia]] è Washington DC. Wilhelmus Zakaria Johannes rèmbhi` è Termanu, 16 Juli 1895. Dimma ka`dinto ana` lakek sè palèng towa ḍâri M. Z. Johannes bân Eter Johannes –Amalo. Bapa`na alako dhâddhi ghuru bânto è Sakola Dâsar bân pangoros gârèja. WZ. Johannes panèka sepopona Pof. Dr. Ir. Herman Johannes, guru rajhâ [[Universitas Gadjah Mada|UGM]] bân pamanna ḍâri Helmi Johannes, presenter berita bân produser eksekutif televisi VOA [[Inḍonèsia]]. == '''Sombher''' == <references /> qut5hvfjwzhplacpxen6opg503hhbq7 67827 67826 2026-11-09T04:54:42Z Hainisyaf 2647 added [[Category:Pahlawan Nasional Inḍonèsia]] using [[Help:Gadget-HotCat|HotCat]] 67827 wikitext text/x-wiki [[Bhengkek:Wilhelmus Zakaria Johannes.jpg|jmpl]] Prof. dr. '''Wilhelmus Zakaria Johannes''' serring jughân ètolès ḍâlem èjia'ann anyar '''Wilhelmus Zakaria Yohannes''' (16 Juli – 4 Septèmber 1952) panèka dokter medis radiologi [[Inḍonèsia]]. Johannes panèka dokter medis [[Inḍonèsia]] sè kabidhân ajhâr radiologi è CBZ (roma sakè` sipil) è [[Batavia]] bân marèna dhâddhi ahli ḍâlem teknologi Rontgen mangsan marè bânyya' nyombhâng è pangembhângan studi kedokteran è [[Inḍonèsia]]<ref>{{Cite web |last=Hidayat |first=Pandu |title=Belajar Ketekunan dari W.Z. Johannes, Ahli Radiologi Pertama Indonesia |url=https://www.goodnewsfromindonesia.id/indonesiana/humaniora/belajar-ketekunan-dari-w-z-johannes-ahli-radiologi-pertama-indonesia |access-date=2026-11-08 |website=Good News From Indonesia |language=id}}</ref>. Pamarènta Inḍonèsia ngormataghin WZ Johannes mènangka [[Pahlawan Nasional Inḍonèsia|pahlawan nasional Inḍonèsia]] bân nyama`aghin sèttong roma sake' omom è Kupang, [[Nusa Tengghârâ Tèmor|Nusa Tenggara Tèmur]] kalabhân nyamana. Mènangka pangormadhân, asma Wilhelmus Zakaria Johannes èguna`aghin ḍâ' sèttong kapal TNI-AL, KRI Wilhelmus Zakaria Johannes (332). Johannes sedhâ è taon 1952 bân imakamaghin è pemakaman Jati Petamburan è [[Daerah Khusus Ibukota Jakarta|Jakarta Pusat]]. WZ Johannes panèka sapopona ḍâri Profesor Herman Johannes, sèttong profesor [[Inḍonèsia]] sè ngajhâbât dhâddhi Rektor [[Universitas Gadjah Mada]] bân paman ḍâri Helmi Johannes, sèttong pamantè berita bân produser eksekutif ghâbây VOA [[Inḍonèsia]] è Washington DC. Wilhelmus Zakaria Johannes rèmbhi` è Termanu, 16 Juli 1895. Dimma ka`dinto ana` lakek sè palèng towa ḍâri M. Z. Johannes bân Eter Johannes –Amalo. Bapa`na alako dhâddhi ghuru bânto è Sakola Dâsar bân pangoros gârèja. WZ. Johannes panèka sepopona Pof. Dr. Ir. Herman Johannes, guru rajhâ [[Universitas Gadjah Mada|UGM]] bân pamanna ḍâri Helmi Johannes, presenter berita bân produser eksekutif televisi VOA [[Inḍonèsia]]. == '''Sombher''' == <references /> [[Bhângsa:Pahlawan Nasional Inḍonèsia]] 20r00wv31h0dl3wcubweq34mnr9xveu 67834 67827 2026-11-09T05:49:31Z Hainisyaf 2647 67834 wikitext text/x-wiki [[Bhengkek:Wilhelmus Zakaria Johannes.jpg|jmpl]] Prof. dr. '''Wilhelmus Zakaria Johannes''' serring jughân ètolès ḍâlem èjia'ann anyar '''Wilhelmus Zakaria Yohannes''' (16 Juli – 4 Septèmber 1952) panèka dokter medis radiologi [[Inḍonèsia]]. Johannes panèka dokter medis [[Inḍonèsia]] sè kabidhân ajhâr radiologi è CBZ (roma sakè` sipil) è [[Batavia]] bân marèna dhâddhi ahli ḍâlem teknologi Rontgen bân bânyya' nyombhâng è pangembhângan studi kedokteran è [[Inḍonèsia]]<ref>{{Cite web |last=Hidayat |first=Pandu |title=Belajar Ketekunan dari W.Z. Johannes, Ahli Radiologi Pertama Indonesia |url=https://www.goodnewsfromindonesia.id/indonesiana/humaniora/belajar-ketekunan-dari-w-z-johannes-ahli-radiologi-pertama-indonesia |access-date=2026-11-08 |website=Good News From Indonesia |language=id}}</ref>. Pamarènta Inḍonèsia ngormataghin WZ Johannes mènangka [[Pahlawan Nasional Inḍonèsia|pahlawan nasional Inḍonèsia]] bân nyama`aghin sèttong roma sake' omom è Kupang, [[Nusa Tengghârâ Tèmor|Nusa Tenggara Tèmur]] kalabhân nyamana. Mènangka pangormadhân, asma Wilhelmus Zakaria Johannes èguna`aghin ḍâ' sèttong kapal TNI-AL, KRI Wilhelmus Zakaria Johannes (332). Johannes sedâ è taon 1952 bân imakamaghin è pemakaman Jati Petamburan è [[Daerah Khusus Ibukota Jakarta|Jakarta Pusat]]. WZ Johannes panèka sapopona ḍâri Profesor Herman Johannes, sèttong profesor [[Inḍonèsia]] sè ngajhâbât dhâddhi Rektor [[Universitas Gadjah Mada]] bân paman ḍâri Helmi Johannes, sèttong pamantè berita bân produser eksekutif ghâbây VOA [[Inḍonèsia]] è Washington DC. Wilhelmus Zakaria Johannes rèmbhi` è Termanu, 16 Juli 1895. Dimma ka`dinto ana` lakek sè palèng towa ḍâri M. Z. Johannes bân Eter Johannes –Amalo. Bapa`na alako dhâddhi ghuru bhânto è Sakola Dâsar bân pangoros gârèja. WZ. Johannes panèka sepopona Pof. Dr. Ir. Herman Johannes, guru rajhâ [[Universitas Gadjah Mada|UGM]] bân pamanna ḍâri Helmi Johannes, presenter berita bân produser eksekutif televisi VOA [[Inḍonèsia]]. == '''Sombher''' == <references /> [[Bhângsa:Pahlawan Nasional Inḍonèsia]] f2hepm6qgnina0z8m6tb3gufurzxpbr Sukarjo Wiryopranoto 0 19994 67811 67689 2026-11-09T03:41:34Z Hainisyaf 2647 /* */ 67811 wikitext text/x-wiki {{infobox orang}} '''Radhin Soekardjo Wirjopranoto''' ( ER, EYD : '''Raden Sukarjo Wiryopranoto''' ; 5 Junè 1903 – 23 Oktober 1962) panèka pejuang kamardhika'an bân Pahlawan Nasional Inḍonèsia dâri Cilacap. Soekardjo jhughân noro’ perjuangan ka'angghuy mabâli Irian Bârâ' ka Inḍonèsia == Carèta oḍi' == Sukarjo panèka pottrana Wiryodiharjo sè alako ka Biro seppor è jhâman Hindia Bâlândhâ. Èbhuna asalla ḍâri Purwokerto, katoronan olama', sè anyama Kèyaè Asmadi. Sukarjo lahèr è Dhisa Kasugihan bân anḍi' tan-tarètan pèttong orèng bân ana’ nomer ennem. È bâkto Sukarjo ghi’ aomor tello taon, eppa’na sèdhâ. Dhâddhi abâ’na bân tan-tarètanna eparajâ bi’ emma’na. E bâkto asakola, Sukarjo ajhâr è [[Europeesche Lagere School]] (ELS) otabâ SD è jhâman Hindḍia Bâlândhâ. Taon 1917, Sukarjo lolos ḍâri ELS. Saellana jârèya, Sukarjo nerrossaghi ka Sakola'an HokomI otabâ [[Rechtshoogeschool te Batavia|Rechtsschool]] è [[Daerah Khusus Ibukota Jakarta|Jakarta]]. Lèma taon saterrossa saellana lolos ḍâri Fakultas Hukum, Sukarjo molaè alako mènangka pegawai negeri. <ref name="Mengenang">{{Cite web |last= |first= |date=15 November 2021 |title=Mengenang Sumbangsih Pahlawan Asal Cilacap, Sukarjo Wiryopranoto |url=https://cilacapkab.go.id/v3/mengenang-sumbangsih-pahlawan-asal-cilacap-sukarjo-wiryopranoto/ |access-date=25 Mei 2022 |website=cilacapkab.go.id |publisher=Pemerintah Kabupaten Cilacap |quote=}}</ref> == Sombher == [[Bhângsa:Politikus Inḍonèsia]] [[Bhângsa:Tokoh ḍâri Cilacap]] [[Bhângsa:Pahlawan Nasional Inḍonèsia]] 30e00upg5e2beaqizkwrfr8ry9qvruw Naska Proklamasi 0 19996 67807 67729 2026-11-09T03:20:19Z Qainiii 1741 67807 wikitext text/x-wiki '''Naska Proklamasi''' panèka rancangan proklamasi kamardika'an bhângsa Inḍonèsia, sè ètolès sarèng Soekarno è attas lembaran kertas notepad cèlleng sè okoranna 25,8 cm, lebar 21,3 cm, bân tebbel 0,5 mm. == Sejhârâ == Penyusunan naska proklamasi sè è budhi arè bhâkal dhâddhi teks sè èbâca è bâkto proklamasi kamardika'an Inḍonèsia è tangghal 17 Agustus 1945—panèka proses sè kompleks bân tantangan. Kabbhi èmolaè kalabân nyerah Jeppang ta' kalabân syarat ḍâ' pasukan Sekutu è tangghâl 15 Agustus 1945.<ref>Firdausi Fadrik Aziz, “[https://tirto.id/lunglai-di-semua-front-jepang-akhirnya-menyerah-kepada-sekutu-eged Lunglai di Semua Front, Jepang Akhirnya Menyerah kepada Sekutu]”, tirto.id, akses tanggal 2020-07-15</ref> Saèllana ngèdingaghi kabar jhâ' Jeppang nyerah ka Sekutu lèbât siaran radio BBC, anggota generasi ngodâ, tamaso' Soekarni, Wikana, bân Chaerul Saleh nyoro Soekarno bân Mohammad Hatta ka’angghuy ngajhâri bâkto jârèya bân ènyata’aghi kamardhika'an. Namong, Soekarno bân Hatta nolak kalabân tegas, polana ghi' ta' Bâḍâ pernyataan resmi ḍâri Kekaisaran Jeppang. Bâ'na pagghun èkomitmen ḍâ' tangghâl sè ella ètentukan sabèllunna sarèng Marsekal Terauchi è bâkto atemmo sarèng Soekarno è Dalat, Vietnam, 24 Agustus 1945.<ref>"[https://kebudayaan.kemdikbud.go.id/mpnp/peristiwa-perumusan-naskah-proklamasi/ Peristiwa Perumusan Naskah Proklamasi]". ''kebudayaan.kemdikbud.go.id''. è aksès tangghâl 15-07-2020</ref> Hal ka'dinto ngasèlaghi kadhâddhiyân sè èkennal mènangka Kejadian Rèngasdèngklok, è dimma angghuta generasi ngodâ ngajâk Soekarno bân Hatta ka Rèngasdèngklok, kalabân efektif èculik ka’angghuy ètekan ènyata’aghi kamardika'an Inḍonèsia è bâkto jârèya. È arè Juma'at, 17 Agustus 1945, ra-kera pokol 3:00 a.m.saellana para' dhu jhâm pertimbangan Soekarno nolès naska proklamasi è kediaman Laksamana Muda Tadashi Maeda, sè Bâḍâ è jhalân Meiji Dori (samangkèn jhalân Im jhalân, jhalân Pusat, 11). Duwâ' orèng noro' Soekarno è bâkto aghâbây teks proklamasi: Achmad Soebardjo ngadek è kacerra, bân Mohammad Hatta è kanganna. Duwâ' orèng ghâpanèka nantoaghi èssèna proklamasi, sè saterrossa ètolès Soekarno. == Sombher == <references /> iqez6ipylzo30hdomta696ut0izn9hx 67808 67807 2026-11-09T03:22:32Z Qainiii 1741 67808 wikitext text/x-wiki '''Naska Proklamasi''' panèka rancangan proklamasi kamardika'an bhângsa Inḍonèsia, sè ètolès sarèng Soekarno è attas lembaran kertas notepad cèlleng sè okoranna 25,8 cm, lebar 21,3 cm, bân tebbel 0,5 mm. == Sejhârâ == Penyusunan naska proklamasi sè è budhi arè bhâkal dhâddhi teks sè èbâca è bâkto proklamasi kamardika'an Inḍonèsia è tangghal 17 Agustus 1945—panèka proses sè kompleks bân tantangan. Kabbhi èmolaè kalabân nyerah Jeppang ta' kalabân syarat ḍâ' pasukan Sekutu è tangghâl 15 Agustus 1945.<ref>Firdausi Fadrik Aziz, “[https://tirto.id/lunglai-di-semua-front-jepang-akhirnya-menyerah-kepada-sekutu-eged Lunglai di Semua Front, Jepang Akhirnya Menyerah kepada Sekutu]”, tirto.id, akses tanggal 2020-07-15</ref> Saèllana ngèdingaghi kabar jhâ' Jeppang nyerah ka Sekutu lèbât siaran radio BBC, anggota generasi ngodâ, tamaso' Soekarni, Wikana, bân Chaerul Saleh nyoro Soekarno bân Mohammad Hatta ka’angghuy ngajhâri bâkto jârèya bân ènyata’aghi kamardhika'an. Namong, Soekarno bân Hatta nolak kalabân tegas, polana ghi' ta' Bâḍâ pernyataan resmi ḍâri Kekaisaran Jeppang. Bâ'na pagghun èkomitmen ḍâ' tangghâl sè ella ètentukan sabèllunna sarèng Marsekal Terauchi è bâkto atemmo sarèng Soekarno è Dalat, Vietnam, 24 Agustus 1945.<ref>"[https://kebudayaan.kemdikbud.go.id/mpnp/peristiwa-perumusan-naskah-proklamasi/ Peristiwa Perumusan Naskah Proklamasi]". ''kebudayaan.kemdikbud.go.id''. è aksès tangghâl 15-07-2020</ref> Hal ka'dinto ngasèlaghi kadhâddhiyân sè èkennal mènangka Kejadian Rèngasdèngklok, è dimma angghuta generasi ngodâ ngajâk Soekarno bân Hatta ka Rèngasdèngklok, kalabân efektif èculik ka’angghuy ètekan ènyata’aghi kamardika'an Inḍonèsia è bâkto jârèya. È arè Juma'at, 17 Agustus 1945, ra-kera pokol 3:00 a.m.saellana para' dhu jhâm pertimbangan Soekarno nolès naska proklamasi è kediaman Laksamana Muda Tadashi Maeda, sè Bâḍâ è jhalân Meiji Dori (samangkèn jhalân Im jhalân, jhalân Pusat, 11). Duwâ' orèng noro' Soekarno è bâkto aghâbây teks proklamasi: Achmad Soebardjo ngadek è kacerra, bân Mohammad Hatta è kanganna. Duwâ' orèng ghâpanèka nantoaghi èssèna proklamasi, sè saterrossa ètolès Soekarno. Saellana rapat kaangghuy aghâbây bân aghâbây rancangan proklamasi kamardika'an, teks kasebbhut èketik sareng Sayuti Melik. Draf aslina cathetan sè ètolès kalabân tanang èbuwang, polana èangghep ta' parlo polè; namong, saterrossa èkala' bân èpèyara sareng Burhanuddin Mohammad Diah. E taon 1993, Burhanuddin Mohammad Diah massra’agi dokumen jareya ka presiden bakto jareya, Soeharto. Molaè taon 1995, naskah panèka ampon èpèyara è Arsip Nasional Rèpublik Inḍonèsia, kantos samangkèn naskah ka'ḍinto ghi' è bâḍâ'aghi.<ref>"[https://historia.id/politik/articles/sayuti-melik-mengubah-beberapa-kata-dalam-naskah-proklamasi-PNRnW Sayuti Melik Mengubah Beberapa Kata dalam Naskah Proklamasi]". ''Historia.id''. PT. Global Visi Media. 2020. èaksès tangghâl 26 April 2020. </ref><ref>"[https://cagarbudaya.kemdikbud.go.id/public/objek/detailcb/PO2014031700002/naskah-proklamasi-kemerdekaan-bangsa-indonesia-tulisan-tangan-soekarno Naskah Proklamasi Kemerdekaan Bangsa Inḍonèsia Tulisan Tangan Soekarno]". ''Cagarbudaya.kemdikbud.go.id''. Direktorat Pelestarian Cagar Budaya dan Permuseuman. Diakses tanggal 01 April 2020. </ref> == Sombher == <references /> s143cyrpvgl6lxn2agmocqx5rejcr91 Arè Pahlawan 0 19997 67798 67753 2026-11-08T13:33:01Z Alfinlutvianaaa 1710 67798 wikitext text/x-wiki {{Infobox holiday |holiday_name = Arè Pahlawan |type = |image = Battle_of_Surabaya,_Impressions_of_the_Fight_..._in_Indonesia,_p16.jpg |alt =Paperrangan Sorbâjâ è taon 1945 |imagesize = |caption =Paerrangan Sorbâjâ è taon 1945 |official_name = |nickname = |observedby = {{flag|Inḍonèsia}} |litcolor = |longtype = |significance = |begins = |ends = |duration = 1 hari |frequency = taonan |scheduling = arè sè paḍâ sabbhân taonna |date = 10 Nopèmber |celebrations = |observances = * Karnaval veteran * Bhâkti sosial * Festival kabhângsaan * Èntar ka [[TMP]] * Èntar ka [[museum]] |relatedto = }} '''Arè Pahlawan''' iyâ arèya arè nasional maskè bânnè arè libur umum sè ètettep aghi pamarènta Inḍonèsia, bân èlaksanaaghi sabbhân taon è Inḍonèsia è tangghâl 10 Nopèmber.<ref>A Tribute to Our Nation’s Veterans {{Webarchive|url=https://web.archive.org/web/20141109083851/http://thejakartaglobe.beritasatu.com/archive/a-tribute-to-our-nations-veterans/477602/|date=2014-11-09}}. thejakartaglobe.beritasatu.com. Èakses tanghâl 08 Nopèmber 2026.</ref> Arè nasional rèya ètettepaghi kaangghuy maènga' perrang Sorbâjâ, sè kalampan è taon 1945,<ref>{{Cite web |last=Syofyan |first=Donny |title=Who are real heroes of Indonesia? - Thu, November 10, 2011 |url=https://www.thejakartapost.com/news/2011/11/10/who-are-real-heroes-indonesia |access-date=2026-11-08 |website=The Jakarta Post |language=en}}</ref> sè dimma tentara bân ''milisi'' Inḍonèsia sè saroju' kamerdhika'an aperrang alabân tentara Britania Raya bân Bâlândhâ sè maso' bagiyân ḍâri Revolusi Nasional Indonesia.<ref>{{Cite web |last=Syofyan |first=Donny |title=Indonesia in search for heroes - Wed, November 10, 2010 |url=https://www.thejakartapost.com/news/2010/11/10/indonesia-search-heroes |access-date=2026-11-08 |website=The Jakarta Post |language=en}}</ref> È tangghâl 16 Dèsèmber 1959, tangghâl 10 Nopèmber ètettepaghi dhâddhi arè nasional lèbât Keppres No. 316 taon 1959. == Carèta == È tangghâl 10 Nopèmber ghu-lagghu, tentara Inggris molaè nyerrang. Pasukan sakalompo' ngadhebbhi perlabânan ḍâri pasukan bân ''milisi'' Inḍonèsia. È lowar Bung Tomo, badha pole tokoh-tokoh se badha pangarona se abanto mamobilisasi ra’yat Sorbaja e bakto gapaneka. Bâdâ sè dâtâng dâri latar agama—akadhih KH. Hasyim Asy'ari, KH. Wahab Hasbullah, bân bânnya' *kyai* (ulama Islam) laènna dâri *pesantren* (asrama Islam)—sè makompol para moredda (*santri*) bân masyarakat umum kaangghuy abhânto milisi perlawanan. (È bâkto jârèya, orèng-orèng korang terro ta'at ka pamarèntah, nojjhuaghi kasetiaan bân kata'atan sè jhâu lebbi bhâghus dâ' *kyai* otabâ *ulama* panèka.) Akibatna, perlawanan Indonesia terbukti luar biasa kenceng, èterrossaghi arè bân arè bân minggu saellana minggu. Manabi perlawanan orèng-orèng èmolaè mènangka usaha sè spontan bân ta' èkoordinasi, on-laon sajân èator. Perrang jareya abidda ra-kera tello minggu abidda. Salaèn Bung Tomo bâḍâ kèya tokoh-tokoh sè apangaro lain ḍâlem menggerakkan ra'yat Sorbâjâ è bâkto jârèya, bâḍâ sè ḍâteng ḍâri bâgiyân aghâma akadhi KH. Hasyim Asy'ari, KH. Wahab Hasbullah serta kèyaè-kèyaè ponḍhuk sè makompol santrè-santrèna bân masarakat omom kaangghuy abhânto milisi perlabânan. (è bâkto jârèya masarakat ta' atoro' oca' ḍâ' pamarènta tapè masarakat lebbi toro' oca' bân taat ka kèyaè otabâ olama') saèngghâ perlabânan bagiyân Inḍonèsia sajân alot, ḍâri arè ka arè, sampè' ḍâri minggu ka minggu laènna. Paperrangan ra'yat sè ḍâ'-aḍâ'ân èlakonè kalabân lekkas bân ta' èkatowaè, sajân arè sajân taratur. Paperrangan rèya sampè' sakètar tello minggu. == Sombher == <references /> gk5u9eckky4hzurjbt936d461ha7mxr 67799 67798 2026-11-08T13:37:33Z Alfinlutvianaaa 1710 67799 wikitext text/x-wiki {{Infobox holiday |holiday_name = Arè Pahlawan |type = |image = Battle_of_Surabaya,_Impressions_of_the_Fight_..._in_Indonesia,_p16.jpg |alt =Paperrangan Sorbâjâ è taon 1945 |imagesize = |caption =Paerrangan Sorbâjâ è taon 1945 |official_name = |nickname = |observedby = {{flag|Inḍonèsia}} |litcolor = |longtype = |significance = |begins = |ends = |duration = 1 hari |frequency = taonan |scheduling = arè sè paḍâ sabbhân taonna |date = 10 Nopèmber |celebrations = |observances = * Karnaval veteran * Bhâkti sosial * Festival kabhângsaan * Èntar ka [[TMP]] * Èntar ka [[museum]] |relatedto = }} '''Arè Pahlawan''' iyâ arèya arè nasional maskè bânnè arè libur umum sè ètettep aghi pamarènta Inḍonèsia, bân èlaksanaaghi sabbhân taon è Inḍonèsia è tangghâl 10 Nopèmber.<ref>A Tribute to Our Nation’s Veterans {{Webarchive|url=https://web.archive.org/web/20141109083851/http://thejakartaglobe.beritasatu.com/archive/a-tribute-to-our-nations-veterans/477602/|date=2014-11-09}}. thejakartaglobe.beritasatu.com. Èakses tanghâl 08 Nopèmber 2026.</ref> Arè nasional rèya ètettepaghi kaangghuy maènga' perrang Sorbâjâ, sè kalampan è taon 1945,<ref>{{Cite web |last=Syofyan |first=Donny |title=Who are real heroes of Indonesia? - Thu, November 10, 2011 |url=https://www.thejakartapost.com/news/2011/11/10/who-are-real-heroes-indonesia |access-date=2026-11-08 |website=The Jakarta Post |language=en}}</ref> sè dimma tentara bân ''milisi'' Inḍonèsia sè saroju' kamerdhika'an aperrang alabân tentara Britania Raya bân Bâlândhâ sè maso' bagiyân ḍâri Revolusi Nasional Indonesia.<ref>{{Cite web |last=Syofyan |first=Donny |title=Indonesia in search for heroes - Wed, November 10, 2010 |url=https://www.thejakartapost.com/news/2010/11/10/indonesia-search-heroes |access-date=2026-11-08 |website=The Jakarta Post |language=en}}</ref> È tangghâl 16 Dèsèmber 1959, tangghâl 10 Nopèmber ètettepaghi dhâddhi arè nasional lèbât Keppres No. 316 taon 1959. == Carèta == È tangghâl 10 Nopèmber ghu-lagghu, tentara Inggris molaè nyerrang. Pasukan sakalompo' ngadhebbhi perlabânan ḍâri pasukan bân ''milisi'' Inḍonèsia. È lowar Bung Tomo, badha pole tokoh-tokoh se badha pangarona se abanto mamobilisasi ra’yat Sorbaja e bakto gapaneka. Bâdâ sè dâtâng dâri latar agama—akadhih KH. Hasyim Asy'ari, KH. Wahab Hasbullah, bân bânnya' *kyai* (ulama Islam) laènna dâri *pesantren* (asrama Islam)—sè makompol para moredda (*santri*) bân masyarakat umum kaangghuy abhânto milisi perlawanan. (È bâkto jârèya, orèng-orèng korang terro ta'at ka pamarèntah, nojjhuaghi kasetiaan bân kata'atan sè jhâu lebbi bhâghus dâ' *kyai* otabâ *ulama* panèka.) Akibatna, perlawanan Indonesia terbukti luar biasa kenceng, èterrossaghi arè bân arè bân minggu saellana minggu. Manabi perlawanan orèng-orèng èmolaè mènangka usaha sè spontan bân ta' èkoordinasi, on-laon sajân èator. Perrang jareya abidda ra-kera tello minggu abidda. Salaèn Bung Tomo bâḍâ kèya tokoh-tokoh sè apangaro lain ḍâlem menggerakkan ra'yat Sorbâjâ è bâkto jârèya, bâḍâ sè ḍâteng ḍâri bâgiyân aghâma akadhi KH. Hasyim Asy'ari, KH. Wahab Hasbullah serta kèyaè-kèyaè ponḍhuk sè makompol santrè-santrèna bân masarakat omom kaangghuy abhânto milisi perlabânan. (è bâkto jârèya masarakat ta' atoro' oca' ḍâ' pamarènta tapè masarakat lebbi toro' oca' bân taat ka kèyaè otabâ olama') saèngghâ perlabânan bagiyân Inḍonèsia sajân alot, ḍâri arè ka arè, sampè' ḍâri minggu ka minggu laènna. Paperrangan ra'yat sè ḍâ'-aḍâ'ân èlakonè kalabân lekkas bân ta' èkatowaè, sajân arè sajân taratur. Paperrangan rèya sampè' sakètar tello minggu. == Adhât Arè Pahlawan == Upacara Bendera Nasional: Èlaksanaaghi kalabân sopan è tingkatan pusat (biasana è pimpin sareng Presiden Republik Indonesia è Kuburan Pahlawan Nasional Kalibata è Jakarta), bân jhughân è lembaga-lembaga pamarèntah, sakola'an, bân misi-misi diplomatik Indonesia è loar nagârâ. Momen Hening Massa: Tradisi ngajhâri momen hening 60 detik è sabâbhân Indonesia kaangghuy ngormatè kontribusi pahlawan nasional, sè serrèng èserrèng kalabân monyena sirene è kennengngan umum. Tabur Kembang è Tase': Tradisi peringatan nasional sè èbâgi dâ' tabur kembang—sè èlaksanaaghi sareng Angkatan Laut Indonesia dâri dek kapal perang otabâ è palabbhuan—kaangghuy ngormatè pahlawan sè labu è perrang angkatan laut. == Sombher == <references /> 98p7eziup0kgyco6ubrydfudo00db82 Yos Sudarso 0 19998 67812 67693 2026-11-09T03:45:41Z Hainisyaf 2647 /* */ 67812 wikitext text/x-wiki {{infobox orang}} '''Laksamana Madya TNI (Anumerta) Yosaphat "Yos" Sudarso''' ( 24 Novèmber 1925 – 15 Jânuwari 1962) panèka [[perwira]] [[Tentara Nasional Indonesia Angkatan Laut|Angkatan Laut Inḍonèsia]] sè matè è [[Pertempuran Laut Aru|Perrang Tase' Arafura]]. È bâkto sèdhâ, Yos Sudarso dhâddhi bâkkèl kapala staf Angkatan Laut Inḍonèsia bân bertanggung jawab atas aksi infiltrasi ka Papua Nugini. <ref>{{cite journal |last=Platje |first=Wies |date=Spring 2001 |title=Dutch Sigint and the Conflict with Indonesia, 1950–1962 |url=http://www.papuaweb.org/gb/peta/ww2/hollandia-3000.pdf |journal=Intelligence & National Security |volume=16 |issue=1 |pages=304 |doi=10.1080/714002840 |s2cid=153528325 |access-date=2008-11-20}}</ref> Yos dhâddhi Laksamana Madya sacara anumerta. [[Pulau Kolepom|Polo Yos Sudarso]] ban [[Teluk Yos Sudarso]] è Inḍonèsia ènyamaè kalabân nyamana. Bâḍâ ḍuwâ' kapal Angkatan Laut Inḍonèsia sè ènyamaè kalabân nyamana. Kapal sè partama panèka [[Daftar kapal TNI Angkatan Laut yang dinonaktifkan|KRI Jos Soedarso (351)]], kapal fregat kelas Riga sè ètugasaghi è taon 1963 bân pensiun è taon 1986. Kapal kaduwâ' panèka bekkas fregat kellas Van Speijk Bâlândhâ sè anyama [[KRI Yos Sudarso (353)]] sè ghi' aktif è armada samangkèn. == Carèta oḍi' == Yos Sudarso lahir è [[Kota Salatiga|Salatiga]], Jhâbâ Tengnga, tangghâl 24 Novèmber 1925. Nyamana sè lengkap panèka Josaphat Sudarso otabâ è pan-bârâmpan sombher ètolès mènangka Josaphat Soedarso. Yos pottrana Sukarno Darmoprawiro, polisi, bân Mariyam. Yos paneka ana’ nomer ḍuwâ’ dhari tello’ taretan. <ref>{{Cite web |title=17 AGUSTUS - Serial Pahlawan Nasional: Yos Sudarso |url=https://www.tribunnewswiki.com/2019/08/02/pahlawan-nasional-yos-sudarso |access-date=2026-08-24 |website=Tribunnewswiki.com |language=id-ID}}</ref> == Sombher == [[Bhângsa:Pahlawan Nasional Inḍonèsia]] d0yakuo5rnw48lyxnsseqaq84txuxgc Paulus Tiahahu 0 20000 67825 67745 2026-11-09T04:43:47Z Hainisyaf 2647 67825 wikitext text/x-wiki '''Kapitan Paulus Tiahahu''' (sèdhâ Nusalaut, 17 Novèmber 1817) panèka kapitan perrang ḍâri Negeri Abubu è Polo Nusalaut sè noro' ḍâlem perrang [[Pattimura]] taon 1817.<ref>{{Cite web |title=Persembahan Kehormatan Bagi Sang Mutiara Nusa Laut |url=https://indonesiakaya.com/pustaka-indonesia/persembahan-kehormatan-bagi-sang-mutiara-nusa-laut/ |access-date=2026-11-08 |website=Indonesia Kaya}}</ref> Paulus bân Anthony Reebok ètugashaghin Pattimura ka'angghuy ngator pertahanan è Nusalaut. Reng- sareng kalabân pasukan rakyat èpon arebbhu' Bèntèng Beverwijk è Negeri Sila-Leinitu. Pasukan Bâlândhâ è bèntèng kasebhut èserghâp bân èpatè'e. Para pajuwang ḍâri Nusalaut ngala' bâgiyân jhughân ḍâlem pertempuran-pertempuran è Saparua, Haruku bân Jâzirah Hatawano è Polo Saparua. Paulus Tiahahu sareng raja-raja bân pati è Polo Nusalaut noro' nanḍhâtangani Proklamasi Haria è Baileu Haria tangghâl 28 Mèi 1817. Paulus anḍi' potrè sè anyama [[Martha Christina Tiahahu|Martha Christina]]. Potrèna segghut nuro' ḍâlem medan-medan pertempuran. Semangat tempur srikandi Nusalaut sè ghi' ngoḍâ rèya selalu ngobhâraghi semangat pasukan Pattimura. Salaèn memimpin kaum bâbini' noro' pertempuran, èpon bâḍâ jhughân è nga-tenggana pasukan kalabân bapa'na ngaḍḍhâng moso bân gabungaghi bângalla ḍâlem medan pertempuran è Negeri Ouw-Ullath, Saparua Tèmur, Maluku Tengga, sè bâḍâ é Jèzira Tenggara Polo Saparua. Pertempuran heroik è Front Ouw Ullath berakhir kalabân kalana pejuang-pejuang rakyat. Kapitan Paulus Tiahahu, potrèna Martha Christina, Raja Hehanussa ḍâri Negeri Titawaai, Raja Ullath bân Patih Ouw tertangkap. Mereka èkebâ ka Kapal Perrang Evertsen. È kapal rèya para pajuwang atemmu kalabân Thomas Matulessy bân para tawanan laènna. Samarèna èinterogasi, Laksamana Buyskes merri' hokoman matè ka Paulus Tiahahu. Tangghâl 16 Novèmber 1817, Kapitan Paulus Tiahahu bi' potrèna Martha Christina èkebâ ka Nusalaut bân ètahan è bèntèng Beverwijk. È tangghâl 17 Novèmber 1817, sasoai bi' vonis sè ètetapaghin Buyskes èpon èhokom matè tembak bi' regu penembak Bâlândhâ è aḍâ'na Bèntèng Beverwijk. Potrèna ta' bisa membelanya. Samarèna jiya Martha èocol bân èpon bergerilya ḍâri hutan kantos ahèrra èpèghâ' bân matè è attas Kapal Perrang Evertsen è tangghâl 2 Jânuwari 1818. == Sombher == <references /> [[Bhângsa:Tokoh Maluku]] 5nld7lw2m9wajrl2gipe2clsbfgwy9z Agresi Militer Bâlândhâ I 0 20004 67804 67772 2026-11-08T14:44:37Z Pramonor 5919 67804 wikitext text/x-wiki '''Agresi Militer [[Bâlândhâ]] I''' ( Bâlândhâ : Operatie Product , lit. ' Operasi Produk ' ) panèka serrangan militer Bâlândhâ è wilajâ Jhâbâ bân Sumatera sè èkendaliaghi sareng Republik [[Inḍonèsia]] de facto è bâkto Revolusi Nasional Inḍonèsia.<ref>Vickers(2005),p.99</ref> <ref>Cribb (2000),p. 156.</ref>Operasi panèka èlaksanaaghi antara 21 Juli bân 4 Agustus 1947. Èsebbhut sareng orèng Bâlândhâ mènangka Aksi Polisi se-kasèttong ( Eerste Politionele Actie ), è ḍâlem buku sejarah bân catatan militer Inḍonèsia , sèrang militer panèka lebbi èkennal mènangka Agresi Militer Bâlândhâ I . Serrangan panèka èmolaè èlanggâr parjhânjian Linggadjati antara Republik de facto bân Bâlândhâ. Serrangan kasebbhut ngasèlaghi Bâlândhâ ngorangè wilajâ Republik dâddhi wilajâ sè langkong kènè' è [[Jhâbâ]] bân Sumatera, sè èbâgi sareng wilajâ sè èkendâliaghi Bâlândhâ. Ra-kèra 120.000 pasukan Bâlândhâ sè ta' aktif, è antarana bânnya' orèng wajib militer sè lahir è Bâlândhâ, è Jhâbâ aghâbây beban kauangan sè signifikan ghâbây Bâlândhâ saamponna kaancoran Perang Dhunyya II.<ref>Ricklefs (1991), p. 225</ref> È bulân Mei 1947, Bâlândhâ motossaghi jhâ' rèng-orèng rowa parlo nyerang Republik langsung kaangghuy ngaksès komoditas è wilajâ sè èkendâliaghi Republik, khusussa gula è Jhâbâ bân mènnya' bân karet è Sumatera. Frustasi polana buntu rundingan Linggadjati antara Bâlândhâ bân Republik Inḍonèsia de facto, Bâlândhâ èlang parjhânjian bân molaè serrangan militer ghâbây wilajâ-wilajâ sè èkendâliaghi Inḍonèsia. Serangan panèka jhughân èpangaro sareng pèkkèran Bâlândhâ jhâ' Republik panèka de facto gagal ngalang pangarona orèng Inḍonèsia Cina , orèng Inḍonèsia India , bân Partai Komunis Inḍonèsia sè tombu.<ref>Kahin (2003), p. 27</ref> Militer Bâlândhâ èparkiraaghi jhâ' bhâkal parlo bâkto duwâ' minggu kaangghuy ngamanè kottah-kottah sè èghâdhui Republik bân ennem bulân kaangghuy sakabbhina wilajâ Republik. Serangan panèka èmaksod kaangghuy èkalowarè serrangan ka Yogyakarta , kennengnganna pamarèntah Republik, polana èkarep biaya perrang sè tèngghi è dhissa'. tanggâl 21 Juli, Bâlândhâ, sè asanjata kalabân pèralatan buatan AS sè èsewa bân èlatih è pesawat tempur modern, aghâbây tello' divisi è Jhâbâ bân tello' brigade è Sumatera sè korang padat pendudukna . Operasi Produk è Jabâ Tèmor terdiri dâri tello' operasi pandaradhân: Produk Lao' è Pasir Poetih , Situbondo , Produk Lao' è Teluk Meneng, Malang, bân Produk Tèmor è Porong , Sidoarjo . Pendaradhan èdukung sareng kapal parosa', korvet, panyapo ranjau, kapal patroli, kapal pandaradhân bân kapal akadhi LST, LCI, LCT bân LCVP, kapal tunda bân ponton dâri Sorbâjâ.<ref>"Strijd è Nederlands-Indie (1945 kantos 1950,algemeen)". ''nederlandsekrijgsmatch.nl (è bhâsa BhâLANDA). Arsipaghi dari Aslina pada tangghâL 1 Februari 2023. È aksès 21 November 2023.''</ref> Operasi panèka ngasèlaghi pendudukan sabâgiyân bânnya' wilajâ sè produktif èkonomi è Jhâbâ bân Sumatera. Tentara Republik ( Tentara Nasional Inḍonèsia otabâ TNI) nyoba' aghâlimpo'aghi kamajuan Bâlândhâ kalabân mabâdâhaghi gheledè', mabâdâhaghi penghalang, ngalakonè sergapan bân mabâdâhaghi bom è penggirra jhâlân. tojjuanna kaangghuy bisa ngater pasukanna ka kennengngan sè aman bân, manabi bisa, aghâdhui taktik tana sè èobbar. ''Konfrontasi'' langsung sareng pasukan Bâlândhâ, sè andi' kakowadhân tembak sè lebbi bhâghus, ècoba sabânnya'na. Namong, Angkadhen asanjhâta Nasional Inḍonèsia (TNI) bân sekutu-sekutuna terros ngalakonè operasi gerilya dâri disa è wilajâ sè èkendâliaghi Bâlândhâ.<ref>Jackson (2008), p. 23</ref> Bâlândhâ aJhâbâb kalabân serbuan udara bân blokade wilajâ sè èghâdhui Republik. Namong, Bâlândhâ ètahan dâri ngaolle Republik sacara samporna polana tekanan dâri Dewan Kaamanan Perserikatan Bhangsa-Bhangsa , bân sareng Amerika Serikat , sè nyoro gencatan sanjata.<ref>Spruyt (2005), p. 150</ref> tanggâl 2 Agustus 1947, pamarèntah Bâlândhâ marenta'aghi kabbhi komandhan militèr Bâlândhâ kaangghuy ambu kamajuanna, bân serrangan èpèyara sabellunna tengnga malem è tanggâl 4 Agustus. E antarana parenta bân titik tengnga sèrang, Bâlândhâ toron bân ngajhâk satengnga Polo Madura.<ref>''Tawarikh Revolusi Indonesia : 1947''. Perpustakaan Populer Gramedia. 1999. hlm. 291-294. ISBN 978-979-9023-46-9. </ref> == Sombher == <references /> o62ln6cfsm114h3hnnohfqz5t5reim4 Oemar Said Tjokroaminoto 0 20008 67830 67743 2026-11-09T05:29:03Z Hainisyaf 2647 67830 wikitext text/x-wiki [[Bhengkek:HOS Tjokroaminoto, 20 Mei Pelopor 17 Agustus, p43.jpg|jmpl]] Raden Mas Haji '''Oemar Said Tjokroaminoto''' (EYD: '''Umar Said Cokroaminoto'''; 16 Agustus 1882 – 17 Desèmber 1934)<ref>{{Cite book |last=Mahawira |first=Pranadipa |url=https://www.google.com/books/edition/Cinta_Pahlawan_Nasional_Indonesia/4CNNBAAAQBAJ?hl=id&gbpv=0 |title=Cinta Pahlawan Nasional Indonesia: Terlengkap & Terupdate |date=2013-01-01 |publisher=WahyuMedia |isbn=978-979-795-751-3 |language=id}}</ref>, sè lebbhi èkenal è Inḍonèsia moko '''H.O.S Tjokroaminoto''', panèka sèttong tokoh nasionalis Inḍonèsia. Mènangka dhâddhi sala sèttong pemimpin sarèkat dhâghâng islam—organisasi sè èbhângon sareng Samanhudi—sè berkembhâng dhâddhi Sarèkat Islam, sèttong organisasi sè èpadhâddhi abhâreng<ref>{{Cite web |date=2023-12-17 |title=Wafatnya HOS Tjokroaminoto (17 Desember 1934) {{!}} Media Indonesia |url=https://epaper.mediaindonesia.com/detail/wafatnya-hos-tjokroaminoto-17-desember-1934 |access-date=2026-11-08 |website=EpaperMI |language=en}}</ref>. == Kaoḍi'an Pribadi == Tjokroaminoto panèka ana` se nomer duwâ` ḍâri 12 tarètan ḍâri bapa` anyama R.M. Tjokroaminoto sala sèttong pejabat wedana Kleco, [[Kabhupatèn Magetan|Magetan]], è bâkto jareya, eppa’na R.M Adipati Tjokronegoro, jhughân perna dhâddhi bupati, Mattowana panèka R.M. Mangoensoemo sè dhâddhi wâkil bupati [[Kabhupatèn Ponorogo|Ponorogo]]. Èpon toronanna langsong ḍâri Kiai Ageng Hasan Besari âri [[Kabhupatèn Ponorogo|Ponduk Pesantren Tegalsari Ponorogo]]. Lastarèna lolos ḍâri sakola renḍâ, èterrossaghi pendidikanna è sakola pamong praja ''Opleiding School voor Inlandsche Ambtrnaren'' (OSVIA) è Magelang. Lamarena lolos, alako mènangka jhuru tolès patih è [[Kabhupatèn Ngawi|Ngawi]]. Tello taon saterossa, nèka ambu. Tjokroaminoto ngallè bân nettep è [[Kottha Sorbhâjâ|sorbâjâ]] è taon 1906. è [[Kottha Sorbhâjâ|Sorbâjâ]], alako mènangka jhuru tolès è firma ènggrès Kooy & Co bân alanjutaghin pendidikanna è sakola kajuruan ''Burgerlijk Avondschool'', jurusân Teknik Messèn. == '''Sombher''' == <references /> t9cnadrlczix9jy3a4vzdzsnvzpond3 Ilyas Ya'kub 0 20011 67806 67752 2026-11-09T02:56:28Z Hainisyaf 2647 67806 wikitext text/x-wiki [[Bhengkek:Masyumi - Iljas Jacoub.jpg|jmpl|Iljas Jacoub]] '''H. Ilyas Ya'kub''' ('''''Ilyas Yacoub''''';14 Juni 1903 – 2 Agustus 1958) panèka pahlawan nasional Inḍonèsia toronan Minangkabau ḍâri Sumatera Bârâ'. Salèrana èsebbhut pahlawan nasional lèbât Kapotosan Mentri Sosial Inḍonèsia Nomor Pol-61/PK/1968, tangghâl 16 Desèmber 1968, bân status ka'dinto èpèyara polè kalabân Kapotosan Presiden RI Nomor 074/TK/1999, tangghâl 13 Agustus 1999. '''Pahlawan Nasional''' '''Ilyas Ya’kub''' èparèng *Bintang Mahaputra Adipradana* (penghargaan naghârâ sè èpangkat tèngghi) polana usahana è ḍâlem negghu' prinsip-prinsip kamardika'an è bâbâna ancaman kolonialisme Bâlândhâ. Bâ'na aktif akampanye ka'angghuy kamardhika'an Republik Inḍonèsia, komitmen sè madhâddhi bâ'na èbuwâng sareng Bâlândhâ ka Digul (è Papua, Inḍonèsia samangkèn), bân jhughân ka pan-bârâmpan lokasi è Malaysia, Singapura, Brunei Darussalam, bân Australia. Salerana perna mimpin kalompo’ santre Malaysia bân Inḍonèsia sè bâḍâ è Messèr bân jhughân dhâddhi panaddek partai politik PERMI (*Persatuan Muslim Inḍonèsia*—Inḍonèsian Muslim Union, 1932), berbasis ḍâri lembaga-lembaga pendidikan Islam è Inḍonèsia. Èghâdhui keahlian bân kontribusina mènangka *ulama* (ulama Islam), tokoh pendidikan, bân politisi Muslim è bâkto awal kemerdekaan (1948), èpon èparcajâ mènangka Ketua DPR Daerah (DPR) ghâbây provinsi Sumatera Tengah, è bâkto sè padâ atugas mènangka penasehat Gubernur—saèngghâ èparcajâ'aghi posisina sè koat Semangat Melayunya. '''Wartawan''' Perjuangannah Ilyas Ya'kub, mènangka ulama bân tokoh terkemuka è dâlem pendidikan Islam, aghâdhui peran penting dâlem maddek bânnya' lembaga pendidikan Islam. Salerana jhughân alako mènangka wartawan bân terlibat è dâlem menaddhek media, usaha sè èmolaè è bâkto a kuliah è Temor Tengah. Menangka politisi Muslim, èpon aghâdhui peran penting dâlem nyambung masalah agama Islam sareng penyebab nasionalisme lèbât partai politik PERMI (Persatuan Muslimin Indonesia—Union of Indonesian Muslims), sè èakar dâlem prinsip-prinsip pendidikan Islam sè èbanto èkembângaghi è bâbâna aktivis-kancana. Salerana ngabdi daddi kapala redaksi *Medan Rakyat* molae tanggal 1 Februari 1931. Menangka tokoh politik Islam e jaman pergerakan kamardika’an Indonesia, salerana teptep koko ban ta’ kompromi dhalem alaban imperialisme tor penjajahan Balanda. l2ktdatcqxsh5u029a7y3eej03r4odf 67813 67806 2026-11-09T03:55:29Z Hainisyaf 2647 /* */ 67813 wikitext text/x-wiki [[Bhengkek:Masyumi - Iljas Jacoub.jpg|jmpl|Iljas Jacoub]] '''H. Ilyas Ya'kub''' ('''''Ilyas Yacoub''''';14 Juni 1903 – 2 Agustus 1958) panèka pahlawan nasional Inḍonèsia toronan Minangkabau ḍâri Sumatera Bârâ'. Salèrana èsebbhut pahlawan nasional lèbât Kapotosan Mentri Sosial Inḍonèsia Nomor Pol-61/PK/1968, tangghâl 16 Desèmber 1968, bân status ka'dinto èpèyara polè kalabân Kapotosan Prèsiḍèn RI Nomor 074/TK/1999, tangghâl 13 Agustus 1999. '''Pahlawan Nasional''' '''Ilyas Ya’kub''' èparèng Bintang Mahaputra Adipradana (penghargaan naghârâ sè èpangkat tèngghi) polana usahana è ḍâlem negghu' prinsip-prinsip kamardhika'an è bâbâna ancaman kolonialisme Bâlândhâ. Bâ'na aktif akampanye ka'angghuy kamardhika'an Republik Inḍonèsia, komitmen sè madhâddhi bâ'na èbuwâng sareng Bâlândhâ ka Digul (è Papua, Inḍonèsia samangkèn), bân jhughân ka pan-bârâmpan lokasi è Malaysia, Singapura, Brunei Darussalam, bân Australia. Salerana perna mimpin kalompo’ santrè Malaysia bân Inḍonèsia sè bâḍâ è Messèr bân jhughân dhâddhi panaddek partai politik PERMI (Persatuan Muslim Inḍonèsia, Inḍonèsian Muslim Union, 1932), berbasis ḍâri lembaga-lembaga pendidikan Islam è Inḍonèsia. Èghâdhui keahlian bân kontribusina mènangka olama' (ulama Islam), tokoh pendidikan, bân politisi Muslim è bâkto awal kamardhika'an (1948), èpon èparcajâ mènangka Katua DPR Daèra (DPR) ghâbây provinsi Sumatera Tengga, è bâkto sè paḍâ atugas mènangka penasehat Gubernur—saèngghâ èparcajâ'aghi posisina sè kowat Semangat Melayunya. '''Wartawan''' Perjuangannah Ilyas Ya'kub, mènangka ulama bân tokoh terkemuka è ḍâlem pendidikan Islam, aghâdhui peran pentèng ḍâlem maddek bânnya' lembaga pendidikan Islam. Salerana jhughân alako mènangka wartawan bân terlibat è ḍâlem menaddhek media, osaha sè èmolaè è bâkto a kuliah è Tèmor Tengngq. Mènangka politisi Muslim, èpon aghâdhui peran pentèng ḍâlem nyambung masalah aghâma Islam sareng sabhâb nasionalisme lèbât partai politik PERMI (Persatuan Muslimin Indonesia—Union of Indonesian Muslims), sè èakar dâlem prinsip-prinsip pendidikan Islam sè èbanto èkembângaghi è bâbâna aktivis-kancana. Salerana ngabdi dhâeddhi kapala redaksi *Medan Rakyat* molaè tangghâl 1 Fèbruwari 1931. Mènangka tokoh politik Islam e jhâman pergerakan kamardhika’an Inḍonèsia, salerana pagghun koko bân ta’ kompromi ḍâlem alabân imperialisme tor panjhâjhâ Bâlândhâ. eucnoda6ij7rpljetov1luu3tvvxdrc 67814 67813 2026-11-09T03:59:57Z Hainisyaf 2647 67814 wikitext text/x-wiki [[Bhengkek:Masyumi - Iljas Jacoub.jpg|jmpl|Iljas Jacoub]] '''H. Ilyas Ya'kub''' ('''''Ilyas Yacoub''''';14 Juni 1903 – 2 Agustus 1958) panèka pahlawan nasional Inḍonèsia toronan Minangkabau ḍâri Sumatera Bârâ'. Salèrana èsebbhut pahlawan nasional lèbât Kapotosan Mentri Sosial Inḍonèsia Nomor Pol-61/PK/1968, tangghâl 16 Desèmber 1968, bân status ka'dinto èpèyara polè kalabân Kapotosan Prèsiḍèn RI Nomor 074/TK/1999, tangghâl 13 Agustus 1999. == '''Pahlawan Nasional''' == '''Ilyas Ya’kub''' èparèng Bintang Mahaputra Adipradana (penghargaan naghârâ sè èpangkat tèngghi) polana usahana è ḍâlem negghu' prinsip-prinsip kamardhika'an è bâbâna ancaman kolonialisme Bâlândhâ. Bâ'na aktif akampanye ka'angghuy kamardhika'an Republik Inḍonèsia, komitmen sè madhâddhi bâ'na èbuwâng sareng Bâlândhâ ka Digul (è Papua, Inḍonèsia samangkèn), bân jhughân ka pan-bârâmpan lokasi è Malaysia, Singapura, Brunei Darussalam, bân Australia. Salerana perna mimpin kalompo’ santrè Malaysia bân Inḍonèsia sè bâḍâ è Messèr bân jhughân dhâddhi panaddek partai politik PERMI (Persatuan Muslim Inḍonèsia, Inḍonèsian Muslim Union, 1932), berbasis ḍâri lembaga-lembaga pendidikan Islam è Inḍonèsia. Èghâdhui keahlian bân kontribusina mènangka olama' (ulama Islam), tokoh pendidikan, bân politisi Muslim è bâkto awal kamardhika'an (1948), èpon èparcajâ mènangka Katua DPR Daèra (DPR) ghâbây provinsi Sumatera Tengga, è bâkto sè paḍâ atugas mènangka penasehat Gubernur—saèngghâ èparcajâ'aghi posisina sè kowat Semangat Melayunya. == '''Wartawan''' == Perjuangannah Ilyas Ya'kub, mènangka ulama bân tokoh terkemuka è ḍâlem pendidikan Islam, aghâdhui peran pentèng ḍâlem maddek bânnya' lembaga pendidikan Islam. Salerana jhughân alako mènangka wartawan bân terlibat è ḍâlem menaddhek media, osaha sè èmolaè è bâkto a kuliah è Tèmor Tengngq. Mènangka politisi Muslim, èpon aghâdhui peran pentèng ḍâlem nyambung masalah aghâma Islam sareng sabhâb nasionalisme lèbât partai politik PERMI (Persatuan Muslimin Indonesia—Union of Indonesian Muslims), sè èakar dâlem prinsip-prinsip pendidikan Islam sè èbanto èkembângaghi è bâbâna aktivis-kancana. Salerana ngabdi dhâeddhi kapala redaksi *Medan Rakyat* molaè tangghâl 1 Fèbruwari 1931. Mènangka tokoh politik Islam e jhâman pergerakan kamardhika’an Inḍonèsia, salerana pagghun koko bân ta’ kompromi ḍâlem alabân imperialisme tor panjhâjhâ Bâlândhâ. == Sombher == dxkg2tsjtrso45kbn1xtcgppfwaoi7t 67818 67814 2026-11-09T04:18:49Z Hainisyaf 2647 67818 wikitext text/x-wiki [[Bhengkek:Masyumi - Iljas Jacoub.jpg|jmpl|Iljas Jacoub]] '''H. Ilyas Ya'kub''' ('''''Ilyas Yacoub''''';14 Juni 1903 – 2 Agustus 1958) panèka pahlawan nasional Inḍonèsia toronan Minangkabau ḍâri Sumatera Bârâ'. Salèrana èsebbhut pahlawan nasional lèbât Kapotosan Mentri Sosial Inḍonèsia Nomor Pol-61/PK/1968, tangghâl 16 Desèmber 1968, bân status ka'dinto èpèyara polè kalabân Kapotosan Prèsiḍèn RI Nomor 074/TK/1999, tangghâl 13 Agustus 1999.<ref>{{Cite web |last=Gr |first=Tia Putriana, M. Pd |date=2025-07-27 |title=Ilyas Ya'kub: Api Kemerdekaan dari Barat Sumatra |url=https://inspiraku.id/ilyas-yakub/ |access-date=2026-11-09 |website=Inspira |language=en-US}}</ref> == '''Pahlawan Nasional''' == '''Ilyas Ya’kub''' èparèng Bintang Mahaputra Adipradana (penghargaan naghârâ sè èpangkat tèngghi) polana usahana è ḍâlem negghu' prinsip-prinsip kamardhika'an è bâbâna ancaman kolonialisme Bâlândhâ. Bâ'na aktif akampanye ka'angghuy kamardhika'an Republik Inḍonèsia, komitmen sè madhâddhi bâ'na èbuwâng sareng [[Bâlândhâ]] ka Digul ([[Papua]], Inḍonèsia samangkèn), bân jhughân ka pan-bârâmpan lokasi è [[Malaysia]], [[Singapura]], [[Brunei|Brunei Darussalam]], bân [[Australia]]. Salerana perna mimpin kalompo’ santrè Malaysia bân Inḍonèsia sè bâḍâ è [[Mesir|Messèr]] bân jhughân dhâddhi panaddek partai politik PERMI (Persatuan Muslim Inḍonèsia, Inḍonèsian Muslim Union, 1932), berbasis ḍâri lembaga-lembaga pendidikan [[Islam]] è Inḍonèsia. Èghâdhui keahlian bân kontribusina mènangka olama' (ulama Islam), tokoh pendidikan, bân politisi Muslim è bâkto awal kamardhika'an (1948), èpon èparcajâ mènangka Katua DPR Daèra (DPR) ghâbây provinsi Sumatera Tengga, è bâkto sè paḍâ atugas mènangka penasehat Gubernur—saèngghâ èparcajâ'aghi posisina sè kowat Semangat Melayunya. == '''Wartawan''' == Perjuangannah Ilyas Ya'kub, mènangka ulama bân tokoh terkemuka è ḍâlem pendidikan Islam, aghâdhui peran pentèng ḍâlem maddek bânnya' lembaga pendidikan Islam. Salerana jhughân alako mènangka wartawan bân terlibat è ḍâlem menaddhek media, osaha sè èmolaè è bâkto a kuliah è [[Tèmor Tengnga]]. Mènangka politisi Muslim, èpon aghâdhui peran pentèng ḍâlem nyambung masalah aghâma Islam sareng sabhâb nasionalisme lèbât partai politik PERMI (Persatuan Muslimin Indonesia), sè èakar dâlem prinsip-prinsip pendidikan Islam sè èbanto èkembângaghi è bâbâna aktivis-kancana. Salerana ngabdi dhâddhi kapala redaksi Medan Rakyat molaè tangghâl 1 Fèbruwari 1931. Mènangka tokoh politik Islam e jhâman pergerakan kamardhika’an Inḍonèsia, salerana pagghun koko bân ta’ kompromi ḍâlem alabân imperialisme tor panjhâjhâ Bâlândhâ. == Sombher == <references /> 6dp2yvch44bk1kfup0trg4mkkt5lf7i 67819 67818 2026-11-09T04:19:05Z Hainisyaf 2647 added [[Category:Pahlawan Nasional Inḍonèsia]] using [[Help:Gadget-HotCat|HotCat]] 67819 wikitext text/x-wiki [[Bhengkek:Masyumi - Iljas Jacoub.jpg|jmpl|Iljas Jacoub]] '''H. Ilyas Ya'kub''' ('''''Ilyas Yacoub''''';14 Juni 1903 – 2 Agustus 1958) panèka pahlawan nasional Inḍonèsia toronan Minangkabau ḍâri Sumatera Bârâ'. Salèrana èsebbhut pahlawan nasional lèbât Kapotosan Mentri Sosial Inḍonèsia Nomor Pol-61/PK/1968, tangghâl 16 Desèmber 1968, bân status ka'dinto èpèyara polè kalabân Kapotosan Prèsiḍèn RI Nomor 074/TK/1999, tangghâl 13 Agustus 1999.<ref>{{Cite web |last=Gr |first=Tia Putriana, M. Pd |date=2025-07-27 |title=Ilyas Ya'kub: Api Kemerdekaan dari Barat Sumatra |url=https://inspiraku.id/ilyas-yakub/ |access-date=2026-11-09 |website=Inspira |language=en-US}}</ref> == '''Pahlawan Nasional''' == '''Ilyas Ya’kub''' èparèng Bintang Mahaputra Adipradana (penghargaan naghârâ sè èpangkat tèngghi) polana usahana è ḍâlem negghu' prinsip-prinsip kamardhika'an è bâbâna ancaman kolonialisme Bâlândhâ. Bâ'na aktif akampanye ka'angghuy kamardhika'an Republik Inḍonèsia, komitmen sè madhâddhi bâ'na èbuwâng sareng [[Bâlândhâ]] ka Digul ([[Papua]], Inḍonèsia samangkèn), bân jhughân ka pan-bârâmpan lokasi è [[Malaysia]], [[Singapura]], [[Brunei|Brunei Darussalam]], bân [[Australia]]. Salerana perna mimpin kalompo’ santrè Malaysia bân Inḍonèsia sè bâḍâ è [[Mesir|Messèr]] bân jhughân dhâddhi panaddek partai politik PERMI (Persatuan Muslim Inḍonèsia, Inḍonèsian Muslim Union, 1932), berbasis ḍâri lembaga-lembaga pendidikan [[Islam]] è Inḍonèsia. Èghâdhui keahlian bân kontribusina mènangka olama' (ulama Islam), tokoh pendidikan, bân politisi Muslim è bâkto awal kamardhika'an (1948), èpon èparcajâ mènangka Katua DPR Daèra (DPR) ghâbây provinsi Sumatera Tengga, è bâkto sè paḍâ atugas mènangka penasehat Gubernur—saèngghâ èparcajâ'aghi posisina sè kowat Semangat Melayunya. == '''Wartawan''' == Perjuangannah Ilyas Ya'kub, mènangka ulama bân tokoh terkemuka è ḍâlem pendidikan Islam, aghâdhui peran pentèng ḍâlem maddek bânnya' lembaga pendidikan Islam. Salerana jhughân alako mènangka wartawan bân terlibat è ḍâlem menaddhek media, osaha sè èmolaè è bâkto a kuliah è [[Tèmor Tengnga]]. Mènangka politisi Muslim, èpon aghâdhui peran pentèng ḍâlem nyambung masalah aghâma Islam sareng sabhâb nasionalisme lèbât partai politik PERMI (Persatuan Muslimin Indonesia), sè èakar dâlem prinsip-prinsip pendidikan Islam sè èbanto èkembângaghi è bâbâna aktivis-kancana. Salerana ngabdi dhâddhi kapala redaksi Medan Rakyat molaè tangghâl 1 Fèbruwari 1931. Mènangka tokoh politik Islam e jhâman pergerakan kamardhika’an Inḍonèsia, salerana pagghun koko bân ta’ kompromi ḍâlem alabân imperialisme tor panjhâjhâ Bâlândhâ. == Sombher == <references /> [[Bhângsa:Pahlawan Nasional Inḍonèsia]] s2t1h3jp975uqhyyh593guilw7mke91 Nani Wartabone 0 20015 67828 67766 2026-11-09T05:09:15Z Hainisyaf 2647 67828 wikitext text/x-wiki [[Bhengkek:Portrait of Nani Wartabone, Sulawesi Utara Bergolak, p34.jpg|jmpl|Portrait of Nani Wartabone]] '''H. Nani Wartabone''' (30 April 1907 – 3 Jânuwari 1986) panèka sala sèttong politisi bân nasionalis Inḍonèsia ḍâri Gorontalo. Wartabone èkennal polana aproklamasiaghi kamardhika'an Inḍonèsia è Gorontalo è tangghâl 23 Jânuwari 1942—sèttong acara sè èkennal mènangka "Are Proklamasi Gorontalo." Kadhâddhiyân ka’ḍinto tello taon sabellunna Proklamasi Nasional Kamardhika'an Inḍonèsia è taon 1945. Atas dedikasi sareng kontribusina ḍâ' perjuangan kamardika'an Inḍonèsia è Gorontalo, Wartabone èparèngè gelar Pahlawan Nasional Inḍonèsia, adhâsâraghi sè èkalowarè sareng Prèsiḍèn Republik Inḍonèsia sè kapèng 5, Megawati Soekarnoputri (kqpotosan No. 085/TK/2003, tangghâl 6 Novèmber 2013[). Salaèn jârèya, Nani Wartabone jhughân èberri'i gelar Pulanga tradisional sareng aliansi lema' karajaan Gorontalo: "Ta Lo Duluwa Lo Lipu," sè èterjemahaghi ḍâ' "Sang ngebela aghi neghârâ Inḍonèsia." == '''Proklamator ḍâri Temor''' == Nani Wartabone panèka tokoh revolusioner è ḍâlem perjuwangan kamardhika'an Inḍonèsia, sè bâḍâ è Gorontalo. Salanjhânga omor, èpon ngator bân aperrang è bâbâna kolonialisme è wilayah asalla è bâkto jhâman gerakan kamardhika'an. Èpon molaè bâkto abhânto nyarè—bân dhâddhi sekretaris—Jong Gorontalo è Sorbajâ è taon 1923. Lema taon saterrossa, salerana dhâddhi katuwa cabang Gorontalo PNI (Partai Nasional Inḍonèsia). Areng-sareng sareng pejuang kamardhika'an sè èkennal laènna è Gorontalo, Nani abhânto "Panitia 12", sè ahèrra èproklamasiaghi kamardhika'an Inḍonèsia è Gorontalo—tello' taon sabellunna proklamasi kamardhika'an nasional sareng Soekarno bân Mohammad Hatta. Proklamasi Gorontalo—sè èpimpin bân èbâca sareng Nani Wartabone—ajhâdi tonggak sejarah, sè mamotivasi para pejuang kemerdekaan nasional, è antarana Soekarno bân Hatta, kaangghuy aghâncangaghi perjuangan kaangghuy merdeka dâri pamarenta'an kolonial. Proklamasi Gorontalo, sè èlaksana'aghi sareng Nani Wartabone, salastarèna èkennal bânnya' orèng mènangka "Are Patriotik" (Hari Patriotik) tangghâl Jânuwari, otabâ "Are Proklamasi Gorontalo." Ḍâri momen sajhârâ panèka Nani Wartabone èghâdhui gellar, "Proklamator ḍâri jhâbâ." i7wqfuxigchuoz43qioh7bx10pjrghl 67829 67828 2026-11-09T05:09:31Z Hainisyaf 2647 added [[Category:Pahlawan Nasional Inḍonèsia]] using [[Help:Gadget-HotCat|HotCat]] 67829 wikitext text/x-wiki [[Bhengkek:Portrait of Nani Wartabone, Sulawesi Utara Bergolak, p34.jpg|jmpl|Portrait of Nani Wartabone]] '''H. Nani Wartabone''' (30 April 1907 – 3 Jânuwari 1986) panèka sala sèttong politisi bân nasionalis Inḍonèsia ḍâri Gorontalo. Wartabone èkennal polana aproklamasiaghi kamardhika'an Inḍonèsia è Gorontalo è tangghâl 23 Jânuwari 1942—sèttong acara sè èkennal mènangka "Are Proklamasi Gorontalo." Kadhâddhiyân ka’ḍinto tello taon sabellunna Proklamasi Nasional Kamardhika'an Inḍonèsia è taon 1945. Atas dedikasi sareng kontribusina ḍâ' perjuangan kamardika'an Inḍonèsia è Gorontalo, Wartabone èparèngè gelar Pahlawan Nasional Inḍonèsia, adhâsâraghi sè èkalowarè sareng Prèsiḍèn Republik Inḍonèsia sè kapèng 5, Megawati Soekarnoputri (kqpotosan No. 085/TK/2003, tangghâl 6 Novèmber 2013[). Salaèn jârèya, Nani Wartabone jhughân èberri'i gelar Pulanga tradisional sareng aliansi lema' karajaan Gorontalo: "Ta Lo Duluwa Lo Lipu," sè èterjemahaghi ḍâ' "Sang ngebela aghi neghârâ Inḍonèsia." == '''Proklamator ḍâri Temor''' == Nani Wartabone panèka tokoh revolusioner è ḍâlem perjuwangan kamardhika'an Inḍonèsia, sè bâḍâ è Gorontalo. Salanjhânga omor, èpon ngator bân aperrang è bâbâna kolonialisme è wilayah asalla è bâkto jhâman gerakan kamardhika'an. Èpon molaè bâkto abhânto nyarè—bân dhâddhi sekretaris—Jong Gorontalo è Sorbajâ è taon 1923. Lema taon saterrossa, salerana dhâddhi katuwa cabang Gorontalo PNI (Partai Nasional Inḍonèsia). Areng-sareng sareng pejuang kamardhika'an sè èkennal laènna è Gorontalo, Nani abhânto "Panitia 12", sè ahèrra èproklamasiaghi kamardhika'an Inḍonèsia è Gorontalo—tello' taon sabellunna proklamasi kamardhika'an nasional sareng Soekarno bân Mohammad Hatta. Proklamasi Gorontalo—sè èpimpin bân èbâca sareng Nani Wartabone—ajhâdi tonggak sejarah, sè mamotivasi para pejuang kemerdekaan nasional, è antarana Soekarno bân Hatta, kaangghuy aghâncangaghi perjuangan kaangghuy merdeka dâri pamarenta'an kolonial. Proklamasi Gorontalo, sè èlaksana'aghi sareng Nani Wartabone, salastarèna èkennal bânnya' orèng mènangka "Are Patriotik" (Hari Patriotik) tangghâl Jânuwari, otabâ "Are Proklamasi Gorontalo." Ḍâri momen sajhârâ panèka Nani Wartabone èghâdhui gellar, "Proklamator ḍâri jhâbâ." [[Bhângsa:Pahlawan Nasional Inḍonèsia]] dwirt1cf0glldlfg0ix0tfz9td7757f Geḍḍhung Joang '45 0 20016 67809 67737 2026-11-09T03:29:26Z Alfinlutvianaaa 1710 Alfinlutvianaaa ngallèyaghi kaca [[Gheḍḍhung]] ka [[Geḍḍhung Joang '45]]: Judul salah eja 67737 wikitext text/x-wiki '''Geḍḍhung Joang '45''' otabâ '''Musèum Joang '45''', panèka sala sèttong [[musèum]] sè bâḍâ è [[Jakarta]]. Molaè èator bi' pangalola Musèum Sajhârrâ Jakarta, bân samangkèn èbâdâ'aghi è bâbâna administrasi Dinas Kebudayaan Propènsi Jakarta. Musèum rèya bâdâ è jhâlân Menteng Raya 31, [[kalurahan Kebon Sirih]], [[Kacamadhân Menteng]], [[Jakarta Posat.]]<ref>{{Cite book |last=Marzuki |first=Nunung |url=https://books.google.co.id/books?id=HdWOCwAAQBAJ&pg=PA18&dq=Gedung+Joang+'45&hl=id&newbks=1&newbks_redir=0&source=gb_mobile_search&ovdme=1&sa=X&ved=2ahUKEwie0oiYpcaNAxXezTgGHZ0TNIcQ6AF6BAgKEAM#v=onepage&q=Gedung%20Joang%20'45&f=false |title=MENGENAL LEBIH DEKAT: BANGUNAN BERSEJARAH INDONESIA |publisher=Pacu Minat Baca |isbn=978-979-014-015-8 |language=id}}</ref> Acara pembuka'anpembângunan Musèum Gheḍḍhung Joang '45 èlaksana'aghi è tanghâl 10 Novèmber 1970, abherengan bi' parèngadhân Arè Pahlawan. Bato se kapèng sèttong èpasang bi' Siti Johana Menara Saidah, ètoro’ bi' [[S.K. Trimurti]] bi' Walikottha Jakarta Posat, [[Eddy Djadjang Djajaatmadja]]. Musèum panèka èrèsmiaghi è tangghâl 19 Agustus [[1974]], bi' [[Presiden Soeharto.]] == Sajhârrâ Gheḍḍung == === Bâkto Jâman Belândhâ === mBângunan, sè èpadhâddhi sakètar taon 1920-an bân samangkèn abâḍâ'aghi Musèum Joang 45, asalla aropa'aghi hotèl sè èkalola bi' kalowarghâ L.C. Schomper bârghâ Bâlândhâ sè la'abit è Batavia. ènyamaè "Hotel Schomper" menorot pongghâbâna, èangghâp cokop èkennal bân èkennal è pèngghiran lao'na Batavia. Bângonan otama èbâdâ'aghi è tengnga, èbâdâ'aghi è kaduwâ' sisi bi' bârisân kamar tamoy ghâbây ḍâ' pengunjung. Ḍâri struktur kamar tamoy asli, namong sakone' sè ghi' bâdâ kantos samangkèn sè bâdâ è sisi lao'na geḍḍhung otama sè samangkèn èghuna'aghi mènangka perpustaka'an, kamar kreativitas na'-kana', bân kantor Wirawati Catur Panca. [[Bhângsa:Musèum è Kottha Administrasi Jakarta Posat]] 8j3t94lobz90bms781oeo5amxkzun3y Bambu Runcing 0 20017 67835 67755 2026-11-09T10:38:18Z Afaf Fitriati 4203 67835 wikitext text/x-wiki '''Bambu runcing''' otabâ '''prìng lancìp''' (artèna "Bambu Berduri") panèka tombak tradisional sè èghâbây dâri perrèng sè èasah. Samangkèn, lambang tombak bambu bânnya' èghunaaghi sareng pan-bârâmpan wilayah è Inḍonesia kaangghuy melambangkan keberanian bân pengorbanan dâlem ngaolle kamardika'an. Sala sèttong tokoh kasebbhut èngghi panèka Subchi dâri Parakan, Temanggung, sè èkennal kalabân Jenderal Bambu Runcing. Salerana ngabdi menangka panasehadda Barisan Muslimin Temanggung (BMT), se saterrossa ekennal kalabân nyama Barisan Bambu Runcing (BBR).<ref>{{Cite web |last=priatuakosmos |date=2025-11-28 |title=Sejarah Bambu Runcing: Senjata Ikonik Perjuangan Rakyat Indonesia |url=https://warisanbangsa.com/sejarah-bambu-runcing-senjata-ikonik-perjuangan-rakyat-indonesia/ |access-date=2026-11-09 |language=id}}</ref> == Sajhârâ == Pencepta gerakan perjuangan ngangghuy sanjata bambu runcing, dâlem arte sanjata massal bân nasional, sampè' samangkèn nèka ghi' ta' jellas. Senjata bambu runcing èghunaaghi è pelatihan militer Seinendan è jhâman Jepang. Namong, èghunaaghi khusus sènjata bambu runcing, èkombinasiaghi kalabân do'a bân energi dâlem, bisa èkabâsaaghi kalabân Parakan, Temanggung. Bâdâ bânnya' pèkkèran tentang kiai sè terlibat. Nangeng, sadhâja nojjhu dha’ tokoh-tokoh penting e Parakan, enggi paneka K.H. Subchi sareng K.H.R Sumo Gunardo, sareng kiai laènna è Parakan sareng Temanggung, akadhi K.H. M Ali (penjaga pesantren Islam tertua di Parakan), K.H. Abdurrahman, K.H. Nawawi, K.H. Istakhori bân salastarèna jhughân K.H. Mandzur dari Temanggung, sareng cem-macemma kiai e NU Temanggung, otamana se MWC Parakan. Sanjata bambu runcing eguna’agi menangka sarana perjuangan. Hal ka’dinto bâdâ dâri kakorangan pakakas perrang se esadhiya’agi, samentara perjuangan kodhu eterrosagi, otamana samarena Inḍonesia merdeka. == Sombher == <references /> k60yg81zkkns2km4ogxit8dlt2fvn7m Pong Tiku 0 20023 67831 67754 2026-11-09T05:44:15Z Hainisyaf 2647 67831 wikitext text/x-wiki [[Bhengkek:Pong Tiku.jpg|jmpl|Pong Tiku]] Pong Tiku (èjhârbâ'aghi jhughân Pontiku bân Pongtiku; 1846 – 10 Juli 1907), sè èkennal sareng sekutu-sekutuna Bugis kalabân nyama Ne' Baso, panèka pangobâsa Toraja bân pejuwang gerilya sè bâḍâ è wilayah Sulawesi lao'. Mènangka pottrana pangobâsa Pangala’, Tiku arebbhu’ ḍaera tatangghâ Baruppu’ pas dhâddi pamimpinna; èpon salastarèna ngajhâk pimpinan Pangala' ètoro'è sèdhâna ramana. Kalabân manfa'ataghi dhâghang kopi bân abhânto aliansi sareng orèng Bugis è tana renḍâ, Tiku makompol arta sè bânnya', èpabhâjheng wilayanah, bân makowat pangarona. È bâkto Perrang Kopi (1889-1890), ibukotana è Tondon èpabâli sareng pangobâsa saingan, namong èkala' polè è arè sè paḍâ. Bâkto pamarènta kolonial Hinḍia Bâlândhâ—sè bâḍâ è Jhâbâ—nyerrang Sulawesi è awal taon 1900-an, Tiku bân pasukanna aghuna'aghi bèntèng pertahanan ka'angghuy negghu' tana bân ngalakonè serrangan balik. èpon ètangkep è bulân Oktober 1906 namong berhasil lolos è bulan Jânuwari 1907, nerrossaghi kampanye gerilya kantos bulân Junè, è bâkto èpon ahèrra èeksekusi pan-bârâmpan arè sa'amponna èpèghâ' polè. Tiku panèka sala sèttong pemimpin perlawanan sè palèng gigih bân abit è Sulawesi—saèngghâ Gubernur Jenderal J.B. van Heutsz nganggep èpon ancaman sè sèrius ghâbây stabilitas pamarènta'an Bâlândhâ è wilayah kasebbhut bân ètugasaghi pribadi ḍâ' Gubernur Sulawesi ka'angghuy ngawasè penangkapan èpon. Saellana sèḍâ, Tiku èhormati mènangka simbol perlawanan orèng Torajan. Sa'amponna abit èhormati è Sulawesi, è taon 2002 èpon resmi èangkak dhâddi Pahlawan Nasional Inḍonèsia. == Oḍi' kabidhân bân ongghâ ka kakobâsa'an == Tiku lahèr è semma'na Rantepao è tana tèngghi Sulawesi (samangkèn bâgiyân ḍâri Kabupatèn Toraja Lao', Sulawesi Lao') è taon 1846. È bâkto jârèya, wilayah lao' Sulawesi tengnga ngalami jhâman kaemasan è ḍâlem perdhâghângan kopi bân èkendâliaghi sareng sajumblâ panglima perrang lokal. Tiku panèka ana' sè palèng ngoḍâ ḍâri ennem ana' sè èlahèrraghi ḍâri sala sèttong pangobâsa panèka; eppa’na anyama Siambo’ Karaeng pangobâsa Pangala’, èbuna anyama Leb’ok. è bâkto ghi' ngoḍâ, Tiku anḍi' ketangkasan fèsèk sè lowar biasa bân akanca sareng para pedhâghâng kopi sè lebât è kampongnga. 4zdgj2jw29hszm9fame8uytyc7ynv06 67832 67831 2026-11-09T05:44:37Z Hainisyaf 2647 added [[Category:Pahlawan Nasional Inḍonèsia]] using [[Help:Gadget-HotCat|HotCat]] 67832 wikitext text/x-wiki [[Bhengkek:Pong Tiku.jpg|jmpl|Pong Tiku]] Pong Tiku (èjhârbâ'aghi jhughân Pontiku bân Pongtiku; 1846 – 10 Juli 1907), sè èkennal sareng sekutu-sekutuna Bugis kalabân nyama Ne' Baso, panèka pangobâsa Toraja bân pejuwang gerilya sè bâḍâ è wilayah Sulawesi lao'. Mènangka pottrana pangobâsa Pangala’, Tiku arebbhu’ ḍaera tatangghâ Baruppu’ pas dhâddi pamimpinna; èpon salastarèna ngajhâk pimpinan Pangala' ètoro'è sèdhâna ramana. Kalabân manfa'ataghi dhâghang kopi bân abhânto aliansi sareng orèng Bugis è tana renḍâ, Tiku makompol arta sè bânnya', èpabhâjheng wilayanah, bân makowat pangarona. È bâkto Perrang Kopi (1889-1890), ibukotana è Tondon èpabâli sareng pangobâsa saingan, namong èkala' polè è arè sè paḍâ. Bâkto pamarènta kolonial Hinḍia Bâlândhâ—sè bâḍâ è Jhâbâ—nyerrang Sulawesi è awal taon 1900-an, Tiku bân pasukanna aghuna'aghi bèntèng pertahanan ka'angghuy negghu' tana bân ngalakonè serrangan balik. èpon ètangkep è bulân Oktober 1906 namong berhasil lolos è bulan Jânuwari 1907, nerrossaghi kampanye gerilya kantos bulân Junè, è bâkto èpon ahèrra èeksekusi pan-bârâmpan arè sa'amponna èpèghâ' polè. Tiku panèka sala sèttong pemimpin perlawanan sè palèng gigih bân abit è Sulawesi—saèngghâ Gubernur Jenderal J.B. van Heutsz nganggep èpon ancaman sè sèrius ghâbây stabilitas pamarènta'an Bâlândhâ è wilayah kasebbhut bân ètugasaghi pribadi ḍâ' Gubernur Sulawesi ka'angghuy ngawasè penangkapan èpon. Saellana sèḍâ, Tiku èhormati mènangka simbol perlawanan orèng Torajan. Sa'amponna abit èhormati è Sulawesi, è taon 2002 èpon resmi èangkak dhâddi Pahlawan Nasional Inḍonèsia. == Oḍi' kabidhân bân ongghâ ka kakobâsa'an == Tiku lahèr è semma'na Rantepao è tana tèngghi Sulawesi (samangkèn bâgiyân ḍâri Kabupatèn Toraja Lao', Sulawesi Lao') è taon 1846. È bâkto jârèya, wilayah lao' Sulawesi tengnga ngalami jhâman kaemasan è ḍâlem perdhâghângan kopi bân èkendâliaghi sareng sajumblâ panglima perrang lokal. Tiku panèka ana' sè palèng ngoḍâ ḍâri ennem ana' sè èlahèrraghi ḍâri sala sèttong pangobâsa panèka; eppa’na anyama Siambo’ Karaeng pangobâsa Pangala’, èbuna anyama Leb’ok. è bâkto ghi' ngoḍâ, Tiku anḍi' ketangkasan fèsèk sè lowar biasa bân akanca sareng para pedhâghâng kopi sè lebât è kampongnga. [[Bhângsa:Pahlawan Nasional Inḍonèsia]] 0bk4ic0q7vciy00lktrb5xvlnqw8w62 Yap Thiam Hien 0 20027 67833 67765 2026-11-09T05:47:04Z Hainisyaf 2647 67833 wikitext text/x-wiki [[Bhengkek:Yap Thiam Hien, Pedoman Kampanje Perdjoangan Baperki dalam Pemilihan Umum, p36.jpg|jmpl|Yap Thiam Hien]] '''John Yap Thiam Hien''' (25 Mèi 1913 – 25 April 1989) panèka seorang pengacara Inḍonèsia karoronan Tionghoa Acè. Èpon mengabdikan sadhâjhâna oḍi'na berjuwang demi nega'aghi ka'adilan bân hak asasi manussa (HAM). Nyamana èabadiaghi dhâddhi nyama sebuah penghargâ'ân sè èberri' ḍâ' orèng-orèng sè berjasa rajâ bâgi penegakan hak asasi manussa è Inḍonèsia.<ref>{{Cite web |title=Sang Advokat Kebenaran: Jejak Hidup Yap Thiam Hien sebagai Pengacara dan Aktivis HAM |url=https://lk2fhui.law.ui.ac.id/portfolio/sang-advokat-kebenaran-jejak-hidup-yap-thiam-hien-sebagai-pengacara-dan-aktivis-ham/ |access-date=2026-11-09 |website=LK2 FHUI |language=id}}</ref> == Sombher == <references /> [[Bhângsa:Pahlawan Nasional Inḍonèsia]] 7upd3mzkf71stzlil7ohhuc5rv1cq1c Parjhânjhiân Kalijati 0 20028 67800 67764 2026-11-08T14:22:38Z Pramonor 5919 67800 wikitext text/x-wiki '''Parjhânjhiân Kalijati''' panèka Parjhânjhiân sè ètandatangani è tanggèl 8 Maret 1942, è Kalijati, Kabhupaten Subang, [[Jhâbâ Bârâ']] , [[Inḍonèsia|Indonesia]] . Parjhânjhiân panèka mènangka ahèrra pamarenta'an [[Bâlândhâ|Bâlandhâ]] de facto è attas Hindia Bâlandhâ bân massra'aghi wilayah panèka ka Kekaisaran [[Jeppang]] è bâkto Perang Dhunnyâ II.<ref>Ciputra Wikliam, “[https://bandung.kompas.com/read/2022/03/08/120101778/peristiwa-bersejarah-8-maret-perjanjian-kalijati-ditandatangani-awali Peristiwa Bersejarah 8 Maret: Perjanjian Kalijati Ditandatangani, Awali Pendudukan Jepang di Tanah Air]”, kompas.com, aksès tangghâl 2026-11-08.</ref> È awal taon 1942, pasukan Jeppang molaè serrangan bhâghus ka Asia Tèmor Lao' , è antarana Hindia Bâlandhâ . Saamponna pan-saponapan kala, pasukan Hindia Bâlândhâ èpaksa nyorot. Perrang sè akhir bân tegas èlampa'aghi è Bandung , Jhâbâ Bârâ' , sè aghâbây pasukan Bâlandhâ makala. Tanggal 8 Maret 1942, Jenderal Hein ter Poorten , Katoa Tentara Hindia Bâlandhâ Karajhaan , èbârengi pongghâbâ tèngghi Bâlandhâ laènna, ètemmoè Letnan Jenderal Hitoshi Imamura , katoa pasukan Jepang, è Kalijati . È ḍâlem atemmo, Bâlândhâ ènyataaghi pasrah ta' kalabân sarat ḍâ' militèr Jeppang, namong bânnè pasrah "de jure", pamarèntah sipil Hindia Bâlândhâ berhasil èvakuasi ka [[Australia]] è bâkto [[perrang]], bân pamarèntah Hindia Bâlândhâ terros èterrossaghi kantos èpabâli'aghi kadauladhân è tanggal 27 Desember 1949. Bâlândhâ èsoro massra’aghi sakabbhina wilayahna è Indonesia ka Jeppang ta’ kalabân sarat. Letnan Jenderal Hein Ter Poorten massra'aghi kakowadhân ka pasukan ''ekspedisi'' Jeppang sè èpimpin sareng Jenderal Hitoshi Imamura.<ref>“[https://www.cnnindonesia.com/nasional/20210614141525-31-654074/perjanjian-kalijati-awal-mula-pendudukan-jepang-di-indonesia. Perjanjian Kalijati, Awal Mula Pendudukan Jepang di Indonesia]”, CNN, aksès tangghâl 2026-11-08.</ref> Jeppang jhughân molaè aghâbây ''restrukturisasi'' pamarèntah sipil è Hindia Bâlândhâ. E bâbâna kakoasaanna Jeppang, bâdâ tello' pamarèntah militer Jeppang. Pamarèntah militèr panèka èpusataghi è Batavia , Bukittinggi , bân Makassar . Pamarèntah militèr pusat èpimpin sareng kapala staf kalabân gelar Gunseikan . == '''Referensi''' == * Ricklefs, M. C. (1993). " ''A History of Modern Indonesia since c. 1200''. " Stanford University Press. * Cribb, Robert. (2000). " ''Atlas Sejarah Indonesia'' ." Curzon Press. n1emwpzhqgp8or4sg8h4e7pys8ywkbk 67801 67800 2026-11-08T14:29:53Z Pramonor 5919 67801 wikitext text/x-wiki '''Parjhânjhiân Kalijati''' panèka Parjhânjhiân sè ètandatangani è tangghâl 8 Maret 1942, è Kalijati, [[Kabhupatèn Subang|Kabhupaten Subang]], [[Jhâbâ Bârâ']], [[inḍonèsia]] . aksès tangghâl 2026-11-08 Parjhânjhiân panèka mènangka ahèrra pamarenta'an [[Bâlândhâ|Bâlandhâ]] de facto è attas [[Hinḍia Bâlândhâ|Hindia Bâlandhâ]] bân massra'aghi wilayah panèka ka Kekaisaran [[Jeppang]] è bâkto [[Perrang Dhunnya II|Perang Dhunnyâ II]].<ref>Ciputra Wikliam, “[https://bandung.kompas.com/read/2022/03/08/120101778/peristiwa-bersejarah-8-maret-perjanjian-kalijati-ditandatangani-awali Peristiwa Bersejarah 8 Maret: Perjanjian Kalijati Ditandatangani, Awali Pendudukan Jepang di Tanah Air]”, kompas.com, aksès tangghâl 2026-11-08.</ref> È awal taon 1942, pasukan [[Jeppang]] molaè serrangan bhâghus ka Asia Tèmor Lao', è antarana Hindia Bâlandhâ . Saamponna pan-saponapan kala, pasukan Hindia Bâlândhâ èpaksa nyorot. Perrang sè akhir bân tegas èlampa'aghi è Bandung, Jhâbâ Bârâ' , sè aghâbây pasukan Bâlandhâ makala. tangghâl 8 Maret 1942, Jenderal Hein ter Poorten , Katoa Tentara Hindia Bâlandhâ Karajhaan, èbârengi pongghâbâ tèngghi Bâlandhâ laènna, ètemmoè Letnan Jenderal Hitoshi Imamura, katoa pasukan Jepang, è Kalijati. È ḍâlem atemmo, Bâlândhâ ènyataaghi pasrah ta' kalabân sarat ḍâ' militèr Jeppang, namong bânnè pasrah "de jure", pamarèntah sipil Hindia Bâlândhâ berhasil èvakuasi ka [[Australia]] è bâkto [[perrang]], bân pamarèntah Hindia Bâlândhâ terros èterrossaghi kantos èpabâli'aghi kadauladhân è tangghâl 27 Desember 1949. Bâlândhâ èsoro massra’aghi sakabbhina wilayahna è inḍonèsia ka Jeppang ta’ kalabân sarat. Letnan Jenderal Hein Ter Poorten massra'aghi kakowadhân ka pasukan ''ekspedisi'' Jeppang sè èpimpin sareng Jenderal Hitoshi Imamura.<ref>“[https://www.cnnindonesia.com/nasional/20210614141525-31-654074/perjanjian-kalijati-awal-mula-pendudukan-jepang-di-indonesia. Perjanjian Kalijati, Awal Mula Pendudukan Jepang di Indonesia]”, CNN, aksès tangghâl 2026-11-08.</ref> Jeppang jhughân molaè aghâbây ''restrukturisasi'' pamarèntah sipil è Hindia Bâlândhâ. È bâbâna kakoasaanna Jeppang, bâdâ tello' pamarèntah militer Jeppang. Pamarèntah militèr panèka èpusataghi è [[Batavia]], Bukittinggi , bân Makassar. Pamarèntah militèr pusat èpimpin sareng kapala staf kalabân gelar Gunseikan. == Referensi == * Ricklefs, M. C. (1993). " ''A History of Modern inḍonèsia since c. 1200''. " Stanford University Press. * Cribb, Robert. (2000). " ''Atlas Sejarah inḍonèsia'' ." Curzon Press. == Sombher == <references /> ked1flic7pmizo2fkczs4yp11tbkg9b 67802 67801 2026-11-08T14:36:47Z Pramonor 5919 67802 wikitext text/x-wiki '''Parjhânjhiân Kalijati''' panèka Parjhânjhiân sè ètandatangani è tangghâl 8 Maret 1942, è Kalijati, [[Kabhupatèn Subang|Kabhupaten Subang]], [[Jhâbâ Bârâ']], [[inḍonèsia]] . aksès tangghâl 2026-11-08 Parjhânjhiân panèka mènangka ahèrra pamarenta'an [[Bâlândhâ|Bâlandhâ]] de facto è attas [[Hinḍia Bâlândhâ|Hindia Bâlandhâ]] bân massra'aghi wilayah panèka ka Kekaisaran [[Jeppang]] è bâkto [[Perrang Dhunnya II|Perang Dhunnyâ II]].<ref>Ciputra Wikliam, “[https://bandung.kompas.com/read/2022/03/08/120101778/peristiwa-bersejarah-8-maret-perjanjian-kalijati-ditandatangani-awali Peristiwa Bersejarah 8 Maret: Perjanjian Kalijati Ditandatangani, Awali Pendudukan Jepang di Tanah Air]”, kompas.com, aksès tangghâl 2026-11-08.</ref> == Awwal == È awal taon 1942, pasukan [[Jeppang]] molaè serrangan bhâghus ka Asia Tèmor Lao', è antarana Hindia Bâlandhâ . Saamponna pan-saponapan kala, pasukan Hindia Bâlândhâ èpaksa nyorot. Perrang sè akhir bân tegas èlampa'aghi è Bandung, Jhâbâ Bârâ' , sè aghâbây pasukan Bâlandhâ makala. tangghâl 8 Maret 1942, Jenderal Hein ter Poorten , Katoa Tentara Hindia Bâlandhâ Karajhaan, èbârengi pongghâbâ tèngghi Bâlandhâ laènna, ètemmoè Letnan Jenderal Hitoshi Imamura, katoa pasukan Jepang, è Kalijati. È ḍâlem atemmo, Bâlândhâ ènyataaghi pasrah ta' kalabân sarat ḍâ' militèr Jeppang, namong bânnè pasrah "de jure", pamarèntah sipil Hindia Bâlândhâ berhasil èvakuasi ka [[Australia]] è bâkto [[perrang]], bân pamarèntah Hindia Bâlândhâ terros èterrossaghi kantos èpabâli'aghi kadauladhân è tangghâl 27 Desember 1949.<ref>Barak Hariz, “[https://www.liputan6.com/global/read/4499626/8-3-1942-belanda-menyerah-serahkan-pulau-jawa-kepada-jepang#google_vignette 8-3-1942: Belanda Menyerah, Serahkan Pulau Jawa kepada Jepang”,], Liputan 6, aksès tangghâl 2026-11-08.</ref> == Èssèna Parjhânjhiân == Bâlândhâ èsoro massra’aghi sakabbhina wilayahna è inḍonèsia ka Jeppang ta’ kalabân sarat. Letnan Jenderal Hein Ter Poorten massra'aghi kakowadhân ka pasukan ''ekspedisi'' Jeppang sè èpimpin sareng Jenderal Hitoshi Imamura.<ref>“[https://www.cnnindonesia.com/nasional/20210614141525-31-654074/perjanjian-kalijati-awal-mula-pendudukan-jepang-di-indonesia. Perjanjian Kalijati, Awal Mula Pendudukan Jepang di Indonesia]”, CNN, aksès tangghâl 2026-11-08.</ref> Jeppang jhughân molaè aghâbây ''restrukturisasi'' pamarèntah sipil è Hindia Bâlândhâ. È bâbâna kakoasaanna Jeppang, bâdâ tello' pamarèntah militer Jeppang. Pamarèntah militèr panèka èpusataghi è [[Batavia]], Bukittinggi , bân Makassar. Pamarèntah militèr pusat èpimpin sareng kapala staf kalabân gelar Gunseikan. == Referensi == * Ricklefs, M. C. (1993). " ''A History of Modern inḍonèsia since c. 1200''. " Stanford University Press. * Cribb, Robert. (2000). " ''Atlas Sejarah inḍonèsia'' ." Curzon Press. == Sombher == <references /> 81mt8xz0ie7vk2n59yf8da9syz2ey51 Pangangghuy:Pramonor 2 20043 67803 2026-11-08T14:39:35Z Pramonor 5919 ←Membuat halaman berisi 'haloo' 67803 wikitext text/x-wiki haloo twirdlju8l9fkb9gri8v09ulnlhnbl6 Gheḍḍhung 0 20044 67810 2026-11-09T03:29:26Z Alfinlutvianaaa 1710 Alfinlutvianaaa ngallèyaghi kaca [[Gheḍḍhung]] ka [[Geḍḍhung Joang '45]]: Judul salah eja 67810 wikitext text/x-wiki #ALIH [[Geḍḍhung Joang '45]] aeto7vkdi02f6e6kk8p876tef2ymx59 Badam bhiru 0 20045 67816 2026-11-09T04:16:32Z Ichi Ocha 3826 ←Membuat halaman berisi ''''Badam bhiru'''<ref>{{Cite book |last=Echols |first=John M. |title=An Indonesian-English dictionary |last2=Shadily |first2=Hassan |last3=Wolff |first3=John U. |last4=Collins |first4=James T. |date=1989 |publisher=Cornell University Press |isbn=978-0-8014-2127-3 |edition=3rd ed |location=Ithaca}}</ref> otabâ ''pistachio'' (Pistacia vera L., Anacardiaceae) panèka sala sèttong jenis butombuwân sè ngasèllaghi bhibhit sè èkennal mènangka kacang aghellè' ot...' 67816 wikitext text/x-wiki '''Badam bhiru'''<ref>{{Cite book |last=Echols |first=John M. |title=An Indonesian-English dictionary |last2=Shadily |first2=Hassan |last3=Wolff |first3=John U. |last4=Collins |first4=James T. |date=1989 |publisher=Cornell University Press |isbn=978-0-8014-2127-3 |edition=3rd ed |location=Ithaca}}</ref> otabâ ''pistachio'' (Pistacia vera L., Anacardiaceae) panèka sala sèttong jenis butombuwân sè ngasèllaghi bhibhit sè èkennal mènangka kacang aghellè' otabâ ''fustuk''. Tombu mènangka tombuwân sè tèngghina kantos 10 m, badam bhiru biasana ètamen è wilâjâ kerrèng neng Iran, Turkmenistan, bân Azerbaijan bârâ'. Bâi'na sè abârna bhiru tèra' èghunaaghi mènangka hiasan kakanan. Salaènna èkakan mènangka ghu'ghângghu', kacang arèya jhughân serrèng èghunaaghi mènangka dhâddhi èssèyan ghâbây pai, biskuit, ès krim, otabâ kuè. Akadhi kacang laènna, badam bhiru paḍâ bânnya' protèinna bân kalium. == Katerrangan == Kajuwan badam bhiru bisa tombu kantos 10 meter (33 soko) tèngghina. Nga'anḍi' dâun sirip bân gugur kalabân 10-20 sentimeter (4-8 inci) lanjhângnga. Tombuwân arèya asèpat ''dwirumah'', kalabân ka'-bhungka'an lakè' bân binè' sè èpèsa. Kembhângnga abântu' ''apetulas'' bân ''uniseksual'', tombu è malai. == Sombher == <references /> p79ers5pt0bovyca4ttstl8addh6x5d 67817 67816 2026-11-09T04:17:51Z Ichi Ocha 3826 67817 wikitext text/x-wiki {{Speciesbox | name = Badam hijau | image = Pistacia vera Kerman.jpg | image_caption = Pistasio dan buahnya | genus = Pistacia | species = vera | authority = [[Carolus Linnaeus|L.]] | color={{tc2|tumbuhan}} | image_width=240px | origin=[[Iran]] }} '''Badam bhiru'''<ref>{{Cite book |last=Echols |first=John M. |title=An Indonesian-English dictionary |last2=Shadily |first2=Hassan |last3=Wolff |first3=John U. |last4=Collins |first4=James T. |date=1989 |publisher=Cornell University Press |isbn=978-0-8014-2127-3 |edition=3rd ed |location=Ithaca}}</ref> otabâ ''pistachio'' (Pistacia vera L., Anacardiaceae) panèka sala sèttong jenis butombuwân sè ngasèllaghi bhibhit sè èkennal mènangka kacang aghellè' otabâ ''fustuk''. Tombu mènangka tombuwân sè tèngghina kantos 10 m, badam bhiru biasana ètamen è wilâjâ kerrèng neng Iran, Turkmenistan, bân Azerbaijan bârâ'. Bâi'na sè abârna bhiru tèra' èghunaaghi mènangka hiasan kakanan. Salaènna èkakan mènangka ghu'ghângghu', kacang arèya jhughân serrèng èghunaaghi mènangka dhâddhi èssèyan ghâbây pai, biskuit, ès krim, otabâ kuè. Akadhi kacang laènna, badam bhiru paḍâ bânnya' protèinna bân kalium. == Katerrangan == Kajuwan badam bhiru bisa tombu kantos 10 meter (33 soko) tèngghina. Nga'anḍi' dâun sirip bân gugur kalabân 10-20 sentimeter (4-8 inci) lanjhângnga. Tombuwân arèya asèpat ''dwirumah'', kalabân ka'-bhungka'an lakè' bân binè' sè èpèsa. Kembhângnga abântu' ''apetulas'' bân ''uniseksual'', tombu è malai. == Sombher == <references /> 0duwld4oqvk66bwpvit46udae91sxkq 67820 67817 2026-11-09T04:23:22Z Ichi Ocha 3826 67820 wikitext text/x-wiki {{Speciesbox | name = Badam hijau | image = Pistacia vera Kerman.jpg | image_caption = Pistasio dan buahnya | genus = Pistacia | species = vera | authority = [[Carolus Linnaeus|L.]] | color={{tc2|tumbuhan}} | image_width=240px | origin=[[Iran]] }} '''Badam bhiru'''<ref>{{Cite book |last=Echols |first=John M. |title=An Indonesian-English dictionary |last2=Shadily |first2=Hassan |last3=Wolff |first3=John U. |last4=Collins |first4=James T. |date=1989 |publisher=Cornell University Press |isbn=978-0-8014-2127-3 |edition=3rd ed |location=Ithaca}}</ref> otabâ ''pistachio'' (Pistacia vera L., Anacardiaceae) panèka sala sèttong jenis butombuwân sè ngasèllaghi bhibhit sè èkennal mènangka kacang aghellè' otabâ ''fustuk''. Tombu mènangka tombuwân sè tèngghina kantos 10 m, badam bhiru biasana ètamen è wilâjâ kerrèng neng Iran, Turkmenistan, bân Azerbaijan bârâ'. Bâi'na sè abârna bhiru tèra' èghunaaghi mènangka hiasan kakanan. Salaènna èkakan mènangka ghu'ghângghu', kacang arèya jhughân serrèng èghunaaghi mènangka dhâddhi èssèyan ghâbây pai, biskuit, ès krim, otabâ kuè. Akadhi kacang laènna, badam bhiru paḍâ bânnya' protèinna bân kalium. == Katerrangan == Kajuwan badam bhiru bisa tombu kantos 10 meter (33 soko) tèngghina. Nga'anḍi' dâun sirip bân gugur kalabân 10-20 sentimeter (4-8 inci) lanjhângnga. Tombuwân arèya asèpat ''dwirumah'', kalabân ka'-bhungka'an lakè' bân binè' sè èpèsa. Kembhângnga abântu' ''apetulas'' bân ''uniseksual'', tombu è malai. Buwâna aropa'aghi drupa sè aghândhu' bâi' sè lanjhâng bân bisa èkakan. Bâi'na, sè biasana èangghep kacang, panèka kacang geluk, bânnè kacang-kacangan sè saongghuna. Buwâna anḍi' cangkang lowar sè kerrèng bân bârna krèm. Bâi' arèya anḍi' kolè' ungu tèra' bân dhâghing bhiru tèra', kalabân rassa sè khas. Saellana buwâna ètamen, cangkangnga aobâ ḍâri bhiru dâddhi konèng/mèra musim gugur bân dhâdhâghân asèbâ' sabâgiyân. Kadhâddhiyân panèka èkennal mènangka ''dehiscence'' bân èlampa'aghi kalabân munyi letupan. Pemisahan terbuka panèka sèpat sè ampon èpèlè sareng manossa. Kultivar komersial acem-macem dâlem ghân dimma cara konsistenna dâlem asèbâ'.\ Bâng-sèbângnga ka'-bhungka'an badam bhiru sè la towa ngasèllaghi rata-rata ra-kèra 50 kilogram (110 pon) bâi', otabâ ra-kèra 50.000 sabbhân ḍuwâ' taon. == Sombher == <references /> nc4ifrid8pr26lllcj39rwue5ss1njd Pelmeni 0 20046 67821 2026-11-09T04:34:24Z Ichi Ocha 3826 ←Membuat halaman berisi ''''Pelmeni''' (sebhudhân ḍâlem bhâsa Rusia: [pʲɪlʲˈmʲenʲɪ]; bhâsa Rusia: пельмени [''jamak'']; пельмень, pelʼmenʼ [''tongghâl'']) panèka macemma pangsit/''dumpling'' ḍâri Rusia sè èssèna èbhungkos adhun tèpès bân ta' èberri' raghi. == Bahan == Adonan pelmeni èkaghâbây ḍâri teppong gandum sè ècamporè aèng, kadhâng ètambâi sakone' tellor.<ref>{{Cite web |title=Пельмени. Рецепт с фото |url=...' 67821 wikitext text/x-wiki '''Pelmeni''' (sebhudhân ḍâlem bhâsa Rusia: [pʲɪlʲˈmʲenʲɪ]; bhâsa Rusia: пельмени [''jamak'']; пельмень, pelʼmenʼ [''tongghâl'']) panèka macemma pangsit/''dumpling'' ḍâri Rusia sè èssèna èbhungkos adhun tèpès bân ta' èberri' raghi. == Bahan == Adonan pelmeni èkaghâbây ḍâri teppong gandum sè ècamporè aèng, kadhâng ètambâi sakone' tellor.<ref>{{Cite web |title=Пельмени. Рецепт с фото |url=https://www.gotovim.ru/sbs/pelmeny.shtml |access-date=2026-11-09 |website=www.gotovim.ru}}</ref> Èssèna bisa aropa'aghi dhâghing ghiling (dhâghing bâbi, dhumbhâ, dhâghing sapè, otabâ laènna), jhuko', kolat, otabâ camporan ḍâri macem-macemma dhâghing. Pelmeni tradisional Udmurtian kodhu aèssè camporan 45% dhâghing sapè, 35% dhâghing dhumbhâ, bân 20% dhâghing bâbi<ref>{{Cite web |title=Уральские пельмени. Рецепт уральских пельменей. Пельмени. |url=https://www.pelemeni.ru/ural.html |access-date=2026-11-09 |website=www.pelemeni.ru}}</ref>. Bâḍâ pan-bârampan macemma palappa, akadhi lada potè, bhâbâng mèra, bân bhâbâng potè, ècamporaghi langsung ka ḍâlem èssèna. == Sombher == <references /> t51ypbx7yyj7qxuuyi188mwfoj7on94 67822 67821 2026-11-09T04:34:41Z Ichi Ocha 3826 67822 wikitext text/x-wiki {{Infobox prepared food | name = Pelmeni | image = [[Berkas:Pelmeni Russian.jpg|250px]] | caption = Sepiring pelmeni yang disajikan bersama [[smetana]] (krim asam). | alternate_name = | country = [[Rusia]] | region = [[Perm]], [[Udmurtia]] | creator = | course = | type = [[Dumpling]] | served = | main_ingredient = [[Adonan]]: [[tepung terigu]], air, kadang ditambah [[telur (makanan)|telur]]<br />Isi: [[Daging giling]] ([[daging babi|babi]], [[daging domba|domba]], [[daging sapi|sapi]], atau lainnya), [[ikan]], atau [[jamur]] | variations = | calories = | other = }} '''Pelmeni''' (sebhudhân ḍâlem bhâsa Rusia: [pʲɪlʲˈmʲenʲɪ]; bhâsa Rusia: пельмени [''jamak'']; пельмень, pelʼmenʼ [''tongghâl'']) panèka macemma pangsit/''dumpling'' ḍâri Rusia sè èssèna èbhungkos adhun tèpès bân ta' èberri' raghi. == Bahan == Adonan pelmeni èkaghâbây ḍâri teppong gandum sè ècamporè aèng, kadhâng ètambâi sakone' tellor.<ref>{{Cite web |title=Пельмени. Рецепт с фото |url=https://www.gotovim.ru/sbs/pelmeny.shtml |access-date=2026-11-09 |website=www.gotovim.ru}}</ref> Èssèna bisa aropa'aghi dhâghing ghiling (dhâghing bâbi, dhumbhâ, dhâghing sapè, otabâ laènna), jhuko', kolat, otabâ camporan ḍâri macem-macemma dhâghing. Pelmeni tradisional Udmurtian kodhu aèssè camporan 45% dhâghing sapè, 35% dhâghing dhumbhâ, bân 20% dhâghing bâbi<ref>{{Cite web |title=Уральские пельмени. Рецепт уральских пельменей. Пельмени. |url=https://www.pelemeni.ru/ural.html |access-date=2026-11-09 |website=www.pelemeni.ru}}</ref>. Bâḍâ pan-bârampan macemma palappa, akadhi lada potè, bhâbâng mèra, bân bhâbâng potè, ècamporaghi langsung ka ḍâlem èssèna. == Sombher == <references /> dlidumb3ajtgvwds6yfemvhmrmcu4k9 67823 67822 2026-11-09T04:35:59Z Ichi Ocha 3826 67823 wikitext text/x-wiki {{Infobox food}} '''Pelmeni''' (sebhudhân ḍâlem bhâsa Rusia: [pʲɪlʲˈmʲenʲɪ]; bhâsa Rusia: пельмени [''jamak'']; пельмень, pelʼmenʼ [''tongghâl'']) panèka macemma pangsit/''dumpling'' ḍâri Rusia sè èssèna èbhungkos adhun tèpès bân ta' èberri' raghi. == Bahan == Adonan pelmeni èkaghâbây ḍâri teppong gandum sè ècamporè aèng, kadhâng ètambâi sakone' tellor.<ref>{{Cite web |title=Пельмени. Рецепт с фото |url=https://www.gotovim.ru/sbs/pelmeny.shtml |access-date=2026-11-09 |website=www.gotovim.ru}}</ref> Èssèna bisa aropa'aghi dhâghing ghiling (dhâghing bâbi, dhumbhâ, dhâghing sapè, otabâ laènna), jhuko', kolat, otabâ camporan ḍâri macem-macemma dhâghing. Pelmeni tradisional Udmurtian kodhu aèssè camporan 45% dhâghing sapè, 35% dhâghing dhumbhâ, bân 20% dhâghing bâbi<ref>{{Cite web |title=Уральские пельмени. Рецепт уральских пельменей. Пельмени. |url=https://www.pelemeni.ru/ural.html |access-date=2026-11-09 |website=www.pelemeni.ru}}</ref>. Bâḍâ pan-bârampan macemma palappa, akadhi lada potè, bhâbâng mèra, bân bhâbâng potè, ècamporaghi langsung ka ḍâlem èssèna. == Sombher == <references /> a4bljj7szmjtfnk3ewuunhxhvuq2dbb 67824 67823 2026-11-09T04:37:05Z Ichi Ocha 3826 67824 wikitext text/x-wiki [[Bhengkek:Pelmeni Russian.jpg|jmpl|Pelmeni]] '''Pelmeni''' (sebhudhân ḍâlem bhâsa Rusia: [pʲɪlʲˈmʲenʲɪ]; bhâsa Rusia: пельмени [''jamak'']; пельмень, pelʼmenʼ [''tongghâl'']) panèka macemma pangsit/''dumpling'' ḍâri Rusia sè èssèna èbhungkos adhun tèpès bân ta' èberri' raghi. == Bahan == Adonan pelmeni èkaghâbây ḍâri teppong gandum sè ècamporè aèng, kadhâng ètambâi sakone' tellor.<ref>{{Cite web |title=Пельмени. Рецепт с фото |url=https://www.gotovim.ru/sbs/pelmeny.shtml |access-date=2026-11-09 |website=www.gotovim.ru}}</ref> Èssèna bisa aropa'aghi dhâghing ghiling (dhâghing bâbi, dhumbhâ, dhâghing sapè, otabâ laènna), jhuko', kolat, otabâ camporan ḍâri macem-macemma dhâghing. Pelmeni tradisional Udmurtian kodhu aèssè camporan 45% dhâghing sapè, 35% dhâghing dhumbhâ, bân 20% dhâghing bâbi<ref>{{Cite web |title=Уральские пельмени. Рецепт уральских пельменей. Пельмени. |url=https://www.pelemeni.ru/ural.html |access-date=2026-11-09 |website=www.pelemeni.ru}}</ref>. Bâḍâ pan-bârampan macemma palappa, akadhi lada potè, bhâbâng mèra, bân bhâbâng potè, ècamporaghi langsung ka ḍâlem èssèna. == Sombher == <references /> cshvtxcwk6c0zn4payd6uqg9pigpyub