fbpx
วิกิพีเดีย

มอดูล:Subject bar

คู่มือการใช้งานมอดูล[ดู] [แก้] [ประวัติ] [ล้างแคช]

This module implements the {{Subject bar}} template. Please don't use this module from an article or from another wiki page. You should use the {{Subject bar}} template instead. To use the module from another Lua module, read on.

Use from another Lua module

Load the module like this:

local subjectBar = require('Module:Subject bar')._main 

Then you can use the subjectBar function like this:

local myBar = subjectBar{ book = 'Book 1', book2 = 'Book 2', -- ... portal = 'Portal 1', portal2 = 'Portal 2', -- ... commons = true, commons-search = 'Commons search string', wikt = true, wikt-search = 'Wiktionary search string' -- ... } 

Please see Template:Subject bar/doc for a full list of possible parameters.

local htmlBuilder = require('Module:HtmlBuilder') local getPortalImage = require('Module:Portal').image  local p = {}  local function getArgNums(prefix, args)  -- Returns a table containing the numbers of the arguments that exist for the specified prefix. For example, if the   -- prefix was 'data', and 'data1', 'data2', and 'data5' exist, it would return {1, 2, 5}.  local nums = {}  for k, v in pairs(args) do  local num = tostring(k):match('^' .. prefix .. '([1-9]%d*)$')  if num then table.insert(nums, tonumber(num)) end  end  table.sort(nums)  return nums end  local function makeHorizontalRule()  local row = htmlBuilder.create('tr')  row  .tag('td')  .attr('colspan', '2')  .tag('hr', {selfClosing = true})  return tostring(row) end  local function makeItem(image, text)  local root = htmlBuilder.create('table')  root  .css('float', 'left')  .css('padding', '0px 5px')  .tag('tr')  .tag('td')  .wikitext(image)  .done()  .tag('td')  .css('width', '125px')  .css('text-align', 'left')  .wikitext(text)  return tostring(root) end  local function makeRow(items, heading, subheading, options)  if #items < 1 then return end  local swapHeadingSize = type(options) == 'table' and options.swapHeadingSize or false  local row = htmlBuilder.create('tr')  row  .tag('td')  .css('width', '175px')  .tag('span')  .css('font-size', swapHeadingSize and '85%' or '125%')  .wikitext(heading)  .done()  .tag('br', {selfClosing = true})  .tag('span')  .css('font-size', swapHeadingSize and '125%' or '85%')  .wikitext(subheading)  local cell = row.tag('td')  for i, item in ipairs(items) do  local image = item[1]  local text = item[2]  cell  .wikitext(makeItem(image, text))  end  return tostring(row) end  local function makeNumberedRow(prefix, args, heading, subheading, getItemValsFunc, options)  if args[prefix] then  args[prefix .. '1'] = args[prefix]  end  local argNums = getArgNums(prefix, args)  local items = {}  for i, argNum in ipairs(argNums) do  local image, text = getItemValsFunc(args[prefix .. tostring(argNum)])  table.insert(items, {image, text})  end  return makeRow(items, heading, subheading, options) end  function p._main(args)  local rows = {}   -- Get the book row text.  local bookHeading = "'''[[Wikipedia:Books|Books]]'''"  local bookSubheading = 'View or order collections of articles'  local function getBookItemVals(book)  local image = '[[File:Office-book.svg|30px|link=]]'  local text = mw.ustring.format("'''''[[Book:%s|%s]]'''''", book, book)  return image, text  end  local bookRow = makeNumberedRow('book', args, bookHeading, bookSubheading, getBookItemVals)  table.insert(rows, bookRow)   -- Get the portal row text  local portalHeading = "'''[[วิกิพีเดีย:สถานีย่อย|สถานีย่อย]]'''"  local portalSubheading = 'เข้าถึงหัวข้อที่เกี่ยวข้อง'  local function getPortalItemVals(portal)  local image = mw.ustring.format('[[File:%s|30x30px]]', getPortalImage{portal})  local text = mw.ustring.format("'''''[[สถานีย่อย:%s|สถานีย่อย<br />%s]]'''''", portal, portal)  return image, text  end  local portalRow = makeNumberedRow('portal', args, portalHeading, portalSubheading, getPortalItemVals)  table.insert(rows, portalRow)   -- Get the sister projects row text.  local sisters = {  {arg = 'commons', image = 'Commons-logo.svg', prefix = 'commons', display = 'สื่อ', from = 'คอมมอนส์'},  {arg = 'species', image = 'Wikispecies-logo.svg', prefix = 'wikispecies', display = 'สารบบสปีชีส์', from = 'วิกิสปีชีส์'},  {arg = 'voy', image = 'Wikivoyage-Logo-v3-icon.svg', prefix = 'voy', display = 'คู่มือนำเที่ยว', from = 'วิกิท่องเที่ยว'},  {arg = 'n', image = 'Wikinews-logo.svg', prefix = 'wikinews', display = 'เรื่องข่าว', from = 'วิกิข่าว'},  {arg = 'wikt', image = 'Wiktionary-logo.svg', prefix = 'wiktionary', display = 'บทนิยามภาษาไทย', from = 'วิกิพีเดีย'},  {arg = 'b', image = 'Wikibooks-logo.svg', prefix = 'wikibooks', display = 'ตำรา', from = 'วิกิตำรา'},  {arg = 'q', image = 'Wikiquote-logo.svg', prefix = 'wikiquote', display = 'คำคม', from = 'วิกิคำคม'},  {arg = 's', image = 'Wikisource-logo.svg', prefix = 'wikisource', display = 'ข้อความต้นฉบับ', from = 'วิกิซอร์ซ'},  {arg = 'v', image = 'Wikiversity-logo.svg', prefix = 'wikiversity', display = 'แหล่งเรียนรู้', from = 'Wikiversity'}  }  local sisterItems = {}  for i, t in ipairs(sisters) do  if args[t.arg] then  -- Get the image value.  local image = mw.ustring.format('[[File:%s|30x30px|link=]]', t.image)  -- Get the text value.  local prefix = t.prefix  local search = args[t.arg .. '-search'] or mw.title.getCurrentTitle().text  local postfix = t.postfix  postfix = postfix and ('#' .. postfix) or ''  local display = t.display  local from = t.from  local text = mw.ustring.format(  '[[%s:Special:Search/%s%s|%s]]<br />จาก %s',  prefix, search, postfix, display, from  )  -- Add the values to the items table.  table.insert(sisterItems, {image, text})  end  end  local sisterHeading = "ศึกษาเพิ่มเติมทาง"  local sisterSubheading = "'''[[วิกิพีเดีย:โครงการพี่น้อง|โครงการพี่น้อง]]'''"  local sisterRow = makeRow(sisterItems, sisterHeading, sisterSubheading, {swapHeadingSize = true})  table.insert(rows, sisterRow)   -- Make the table.  local root = htmlBuilder.create('table')  root  .addClass('noprint')  .addClass('navbox')  .css('background-color', '#f9f9f9')  .css('border', '1px solid #aaa')  .css('clear', 'both')  .css('margin-bottom', '0.5em')  .css('margin-top', '0.5em')  .wikitext(table.concat(rows, makeHorizontalRule()))   return tostring(root) end  function p.main(frame)  -- If called via #invoke, use the args passed into the invoking template, or the args passed to #invoke if any exist. Otherwise  -- assume args are being passed directly in from the debug console or from another Lua module.  local origArgs  if frame == mw.getCurrentFrame() then  origArgs = frame:getParent().args  for k, v in pairs(frame.args) do  origArgs = frame.args  break  end  else  origArgs = frame  end  -- Remove blank arguments.  local args = {}  for k, v in pairs(origArgs) do  if v ~= '' then  args[k] = v  end  end  return p._main(args) end  return p 

มอด, subject, อการใช, งานมอด, แก, ประว, างแคช, this, module, rated, beta, ready, widespread, still, should, used, with, some, caution, ensure, results, expected, this, module, implements, subject, template, please, this, module, from, article, from, another, w. khumuxkarichnganmxdul du aek prawti langaekhch This module is rated as beta and is ready for widespread use It is still new and should be used with some caution to ensure the results are as expected This module implements the Subject bar template Please don t use this module from an article or from another wiki page You should use the Subject bar template instead To use the module from another Lua module read on Use from another Lua module aekikh Load the module like this local subjectBar require Module Subject bar main Then you can use the subjectBar function like this local myBar subjectBar book Book 1 book2 Book 2 portal Portal 1 portal2 Portal 2 commons true commons search Commons search string wikt true wikt search Wiktionary search string Please see Template Subject bar doc for a full list of possible parameters khumuxkarichnganthipraktdanbnnidungmacak mxdul Subject bar doc aek prawti phuekhiynsamarththakarthdlxngidthikrabathray srang khdlxk aelachudthdsxb srang khxngmxdulni hnayxykhxngmxdulnilocal htmlBuilder require Module HtmlBuilder local getPortalImage require Module Portal image local p local function getArgNums prefix args Returns a table containing the numbers of the arguments that exist for the specified prefix For example if the prefix was data and data1 data2 and data5 exist it would return 1 2 5 local nums for k v in pairs args do local num tostring k match prefix 1 9 d if num then table insert nums tonumber num end end table sort nums return nums end local function makeHorizontalRule local row htmlBuilder create tr row tag td attr colspan 2 tag hr selfClosing true return tostring row end local function makeItem image text local root htmlBuilder create table root css float left css padding 0px 5px tag tr tag td wikitext image done tag td css width 125px css text align left wikitext text return tostring root end local function makeRow items heading subheading options if items lt 1 then return end local swapHeadingSize type options table and options swapHeadingSize or false local row htmlBuilder create tr row tag td css width 175px tag span css font size swapHeadingSize and 85 or 125 wikitext heading done tag br selfClosing true tag span css font size swapHeadingSize and 125 or 85 wikitext subheading local cell row tag td for i item in ipairs items do local image item 1 local text item 2 cell wikitext makeItem image text end return tostring row end local function makeNumberedRow prefix args heading subheading getItemValsFunc options if args prefix then args prefix 1 args prefix end local argNums getArgNums prefix args local items for i argNum in ipairs argNums do local image text getItemValsFunc args prefix tostring argNum table insert items image text end return makeRow items heading subheading options end function p main args local rows Get the book row text local bookHeading Wikipedia Books Books local bookSubheading View or order collections of articles local function getBookItemVals book local image File Office book svg 30px link local text mw ustring format Book s s book book return image text end local bookRow makeNumberedRow book args bookHeading bookSubheading getBookItemVals table insert rows bookRow Get the portal row text local portalHeading wikiphiediy sthaniyxy sthaniyxy local portalSubheading ekhathunghwkhxthiekiywkhxng local function getPortalItemVals portal local image mw ustring format File s 30x30px getPortalImage portal local text mw ustring format sthaniyxy s sthaniyxy lt br gt s portal portal return image text end local portalRow makeNumberedRow portal args portalHeading portalSubheading getPortalItemVals table insert rows portalRow Get the sister projects row text local sisters arg commons image Commons logo svg prefix commons display sux from khxmmxns arg species image Wikispecies logo svg prefix wikispecies display sarbbspichis from wikispichis arg voy image Wikivoyage Logo v3 icon svg prefix voy display khumuxnaethiyw from wikithxngethiyw arg n image Wikinews logo svg prefix wikinews display eruxngkhaw from wikikhaw arg wikt image Wiktionary logo svg prefix wiktionary display bthniyamphasaithy from wikiphiediy arg b image Wikibooks logo svg prefix wikibooks display tara from wikitara arg q image Wikiquote logo svg prefix wikiquote display khakhm from wikikhakhm arg s image Wikisource logo svg prefix wikisource display khxkhwamtnchbb from wikisxrs arg v image Wikiversity logo svg prefix wikiversity display aehlngeriynru from Wikiversity local sisterItems for i t in ipairs sisters do if args t arg then Get the image value local image mw ustring format File s 30x30px link t image Get the text value local prefix t prefix local search args t arg search or mw title getCurrentTitle text local postfix t postfix postfix postfix and postfix or local display t display local from t from local text mw ustring format s Special Search s s s lt br gt cak s prefix search postfix display from Add the values to the items table table insert sisterItems image text end end local sisterHeading suksaephimetimthang local sisterSubheading wikiphiediy okhrngkarphinxng okhrngkarphinxng local sisterRow makeRow sisterItems sisterHeading sisterSubheading swapHeadingSize true table insert rows sisterRow Make the table local root htmlBuilder create table root addClass noprint addClass navbox css background color f9f9f9 css border 1px solid aaa css clear both css margin bottom 0 5em css margin top 0 5em wikitext table concat rows makeHorizontalRule return tostring root end function p main frame If called via invoke use the args passed into the invoking template or the args passed to invoke if any exist Otherwise assume args are being passed directly in from the debug console or from another Lua module local origArgs if frame mw getCurrentFrame then origArgs frame getParent args for k v in pairs frame args do origArgs frame args break end else origArgs frame end Remove blank arguments local args for k v in pairs origArgs do if v then args k v end end return p main args end return p ekhathungcak https th wikipedia org w index php title mxdul Subject bar amp oldid 9868887, wikipedia, วิกิ หนังสือ, หนังสือ, ห้องสมุด,

บทความ

, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม