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